写一段R代码,使得A数据框中的每一个单元格只要不是空白或者缺失就变成B
时间: 2024-10-25 08:05:59 浏览: 13
Excel-VBA宏编程实例源代码-在列表框或者下拉列表中选择数据并显示在指定的单元格中.zip
5星 · 资源好评率100%
在R中,如果你有一个名为A的数据框,你想将其中非空值替换为另一个数据框B的所有值,你可以使用`ifelse()`函数结合`is.na()`和`!is.na()`条件来实现。这里是一个示例代码:
```r
# 假设A和B是两个具有相同列数的数据框
A <- data.frame(A_column_1 = c(NA, "value1", "", "value4"),
A_column_2 = c("value2", NA, "value3", NA),
# 添加更多列...
# B是你要替换非空值的目标数据框
B <- data.frame(B_column_1 = c("replacement1", "replacement2", "replacement3", "replacement4"),
B_column_2 = c("replacement2", "replacement3", "replacement4", "replacement5"),
# 添加更多列...
# 创建一个新的数据框C,将A中的非空值替换为B相应位置的值
C <- data.frame(forward = lapply(A, function(x) ifelse(!is.na(x), B[[which.min(colnames(B) == names(x))]], x)))
# C就是你想要的结果
C
```
在这个例子中,我们遍历了A的每一列,对于每一列的每个元素,如果它不是`NA`,我们就找到B中对应列名的第一个非`NA`值(因为如果有多个相同的列名,我们只取第一个),然后将其赋给C。
阅读全文