对于我的 R 程序,我想用另一个数据帧中相同位置的值替换数据帧中的空值。例如:
A<- data.frame(matrix(ncol = 5, nrow = 2))
A[1,] <- c(1,NA,2,2,4)
A[2,] <- c(1,NA,NA,2,4)
B<- data.frame(matrix(ncol = 5, nrow = 2))
B[1,] <- c(2,3,4,2,4)
B[2,] <- c(1,4,7,2,9)
新的数据框应该是:
A_updated<- data.frame(matrix(ncol = 5, nrow = 2))
A_updated[1,]<-c(c(1,3,2,2,4)
A_updated[2,]<-c(c(1,4,7,2,4)
这可能吗?如果可以,有人可以帮助我吗?
在此先感谢
最佳答案
你可以的
B*is.na(A) + replace(A,is.na(A),0)
或
replace(A,is.na(A),B[is.na(A)])
或更简单的解决方案(@27 φ 9 在评论中)
A[is.na(A)] <- B[is.na(A)]
关于用其他数据框中的值替换数据框中的 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63340350/