我正在R
中创建一些例程,以简化模型创建并根据几个参数区分多个组(例如:原始手表与使用手表共同属性的假手表(。
在处理过程中,我跟踪向量中潜在的排除线(起初为空(,最后使用以下方法获取它们:
model$var <- raw_data[-line_excluded,]
问题是,如果line_excluded
c()
(ndlr 不排除任何行(,model$var
是一个空数据帧,那么在这种情况下,我想要数据帧的所有行。
我考虑的唯一解决方案是我们
if (!is.null(line_excluded)){
model$var <- raw_data[-line_excluded,]}
但这并不漂亮,我有几个tracking variables
line_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中的行号。