Bea*_*ant 1 merge r dataframe na
我有两个数据帧,格式相同,其中 DF1 中的 NA 值应施加到 DF2 上,而 DF2 中的所有其他值保持不变。
下面的示例,使用代码来重现两个 DF 和下面所需的结果 DF:
structure(list(ID = c(100, 101, 102, 103), c1 = c(NA, NA, NA,
"Y"), c2 = c("Y", NA, NA, "Y"), c3 = c("Y", "Y", "Y", NA), c4 = c(NA,
NA, NA, NA), c5 = c(NA, NA, NA, NA)), class = "data.frame", row.names = c(NA,
-4L))
structure(list(ID = c(100, 101, 102, 103), c1 = c(0, 0, 0, NA
), c2 = c(1, 0, 0, 0), c3 = c(0, 0, 0, 1), c4 = c(0, 0, NA, 0
), c5 = c(1, 0, NA, 0)), class = "data.frame", row.names = c(NA,
-4L))
structure(list(ID = c(100, 101, 102, 103), c1 = c(NA, NA, NA,
NA), c2 = c(1, NA, NA, 0), c3 = c(0, 0, 0, NA), c4 = c(NA, NA,
NA, NA), c5 = c(NA, NA, NA, NA)), class = "data.frame", row.names = c(NA,
-4L))
Run Code Online (Sandbox Code Playgroud)
只需做一个作业(如果尺寸相同)
DF3 <- DF2
DF3[is.na(DF1)] <- NA
Run Code Online (Sandbox Code Playgroud)
-输出
> DF3
ID c1 c2 c3 c4 c5
1 100 NA 1 0 NA NA
2 101 NA NA 0 NA NA
3 102 NA NA 0 NA NA
4 103 NA 0 NA NA NA
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27 次 |
| 最近记录: |