【问题标题】:R add row when value is missingR在缺少值时添加行
【发布时间】:2016-03-08 20:12:28
【问题描述】:

我在编辑数据框时遇到了一些问题。 首先,我的数据:

X1 0.7
X2 0.05
X3 0.4
X5 0.9

我想做的是在 X4 中添加 0 行,这样我的数据看起来像:

X1 0.7
X2 0.05
X3 0.4
X4 0
X5 0.9

我有一个大型数据集,缺失值位于随机位置。如何在 R 中找到缺失值以添加一行?

【问题讨论】:

    标签: r row


    【解决方案1】:

    我们可以使用mergeall.x=TRUE。根据 OP 帖子中提供的示例,我们使用sub 从第一列中提取数字部分,转换为numeric,获取值的rangepaste 上的序列,使用'X'创建一个新的“data.frame”。这将是旧数据集的merged,因此如果旧数据集中的第一列没有匹配值,则第二列中的相应元素将由NA 填充。如果需要,我们可以使用 is.na 将它们更改为 0(但不推荐)。

    dM <- merge(data.frame(V1=paste0("X", Reduce(`:`, 
       range(as.numeric(sub('\\D+', '', df1$V1)))))), df1, all.x=TRUE)
    dM$V2[is.na(dM$V2)] <- 0
    dM
    #  V1   V2
    #1 X1 0.70
    #2 X2 0.05
    #3 X3 0.40
    #4 X4 0.00
    #5 X5 0.90
    

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 2014-06-03
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      • 2020-05-07
      • 2016-01-16
      • 1970-01-01
      • 2018-12-06
      相关资源
      最近更新 更多