Мы можем использовать distinct
library(dplyr)
distinct(df1, Id, Value, .keep_all = TRUE)
# Id Index Value
#1 1233 i1 Blue
#2 6545 i1 Red
#3 6545 i2 <NA>
#4 6545 i3 Black
#5 4177 i1 <NA>
Или используя base R
df1[!duplicated(df1[c('Id', 'Value')]),]
данные
df1 <- structure(list(Id = c(1233L, 1233L, 1233L, 6545L, 6545L, 6545L,
4177L, 4177L, 4177L), Index = c("i1", "i2", "i3", "i1", "i2",
"i3", "i1", "i2", "i2"), Value = c("Blue", "Blue", "Blue", "Red",
NA, "Black", NA, NA, NA)), class = "data.frame", row.names = c(NA,
-9L))