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
3条答案
按热度按时间x0fgdtte1#
你只需要索引所有NA的行,然后用赋值替换它们。你可以用
is.na()
,rowSums()
和ncol()
来实现这一点。我已经把它们都写在下面了,所以你可以看到工作:输出:
arknldoa2#
fnx2tebb3#
矩阵:
语法:
输出: