Предположим, у меня есть фрейм данных:
dfTest <- data.frame(year = c(1,2,3,1,3),
meanVal = c(1,2,3,1,3),
var1 = c(1,2,3,1,3),
var2 = c(NA,2,NA,1,3),
var3 = c(1,NA,NA,1,3))
> dfTest
year meanVal var1 var2 var3
1 1 1 1 NA 1
2 2 2 2 2 NA
3 3 3 3 NA NA
4 1 1 1 1 1
5 3 3 3 3 3
Что мне нужно:
> dfTest
year meanVal var1 var2 var3
1 1 1 1 1 1
2 2 2 2 2 NA
3 3 3 3 3 3
Чтобы это произошло, строки нужно свернуть по годам.Если для столбца есть NA, его следует заменить значением в этом столбце.т.е. есть только 1 значение для var1 для года 1 (1).Однако некоторые строки в столбце var1 могут иметь NA.Кроме того, если для столбца существует только NA, как мы видим в 2-м году вар., NA должна остаться.