在 R 中,数据帧 [-NULL] 返回一个空数据帧



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

在处理过程中,我跟踪向量中潜在的排除线(起初为空(,最后使用以下方法获取它们:

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需要它。

感谢您的帮助

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

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

您也可以尝试:

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

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

最新更新