用其他数据框中的值替换数据框中的 NA

标签 r dataframe na

对于我的 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/

相关文章:

r - 将 R 列名称转换为 id 变量

r - 聚合具有共享值的行,同时在单独的列中选择值以保留在聚合行中

r - mutate_if 的正确语法

python - N/A 作为 N/A 不是 pandas 和 python 中的数字

r - add_p 中的错误()' for variable X and test ' fisher.test',省略了 p 值

r - 如何防止 'read.table' 将下划线和连字符更改为点?

Python Pandas Period 日期差异在 * MonthEnds> 中,如何将其转换为 INT 值

python - 使用 loc 删除索引过滤的数据框

python - 从数据框列表中访问元素的名称

r - 在使用 R 进行 PCA 分析之前省略 NA 和数据插补