Вам просто нужно проиндексировать строки, которые все являются NA, а затем заменить их присваиванием.Вы можете достичь этого с помощью is.na()
, rowSums()
и ncol()
.Я выписал их все ниже, чтобы вы могли увидеть работу:
x <- rbind(c(1, 2, NA), c(NA, NA, NA), c(NA, 5, 6), c(7, NA, 9))
x
is.na(x)
rowSums(is.na(x))
ncol(x)
# This is the single line that does all the work
x[rowSums(is.na(x)) == ncol(x),] <- 99
x
Вывод:
[,1] [,2] [,3]
[1,] 1 2 NA
[2,] NA NA NA
[3,] NA 5 6
[4,] 7 NA 9
[,1] [,2] [,3]
[1,] FALSE FALSE TRUE
[2,] TRUE TRUE TRUE
[3,] TRUE FALSE FALSE
[4,] FALSE TRUE FALSE
[1] 1 3 1 1
[1] 3
[,1] [,2] [,3]
[1,] 1 2 NA
[2,] 99 99 99
[3,] NA 5 6
[4,] 7 NA 9