【问题标题】:In R, dataframe[-NULL] returns an empty dataframe在 R 中,dataframe[-NULL] 返回一个空的数据帧
【发布时间】:2019-12-27 09:00:15
【问题描述】:

我正在R 中创建一些例程,以简化模型创建并根据多个参数区分多个组(例如:原始手表 VS 使用手表通用属性的假货)。

在此过程中,我会跟踪向量中可能被排除的行(起初为空),最后我会使用:

    model$var <- raw_data[-line_excluded,]

问题是如果line_excludedc()(ndlr 没有排除行),model$var 是一个空数据框,那么在这种情况下,我想要数据框的所有行。

我想到的唯一解决方案是我们的

if (!is.null(line_excluded)){
    model$var <- raw_data[-line_excluded,]}

但这不是很漂亮,我有几个 tracking variablesline_excluded 需要它。

感谢您的帮助

【问题讨论】:

    标签: r indexing


    【解决方案1】:

    你可以用另一种方式使用setdiff(),它可以处理空的line_excluded,即,

    model$var <- raw_data[setdiff(seq(nrow(raw_data)),line_excluded),]
    

    【讨论】:

      【解决方案2】:

      你也可以试试:

      model$var <- raw_data[!(1:nrow(raw_data) %in% line_excluded),]
      

      这类似于@THomasIsCoding 的建议,您查找不在 line_excluded 中的行号..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-10-02
        • 1970-01-01
        • 2018-06-21
        • 2016-01-28
        • 1970-01-01
        • 2022-11-18
        • 1970-01-01
        • 2012-11-12
        相关资源
        最近更新 更多