【问题标题】:Impose NA values of one data frame on identically formatted second data frame将一个数据帧的 NA 值强加到格式相同的第二个数据帧上
【发布时间】:2022-11-21 07:47:14
【问题描述】:

我有两个数据框,格式相同, 因此 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))

【问题讨论】:

    标签: r dataframe merge na


    【解决方案1】:

    只需做一个分配(如果尺寸相同)

    DF2[is.na(DF1)] <- NA
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 2020-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      相关资源
      最近更新 更多