R 从数据帧中删除命名变量的温和方法

R 从数据帧中删除命名变量的温和方法,r,dataframe,R,Dataframe,是否有可能编写函数f(),我可以将其用于子集列集合,我们可以像这样严格使用:data[,f(c(“var1”,“var2”,“var3”))]而不使用data作为参数,f()可能类似于: f <- function(data_frame, minus_colnames) return colnames(data_frame)[which(!colnames(data_frame)%in%minus_colnames)] f 或 或者正如@davidernburg所暗示的那样 s

是否有可能编写函数
f()
,我可以将其用于子集列集合,我们可以像这样严格使用:
data[,f(c(“var1”,“var2”,“var3”))]
而不使用
data
作为参数,
f()
可能类似于:

f <- function(data_frame, minus_colnames)
     return colnames(data_frame)[which(!colnames(data_frame)%in%minus_colnames)]
f
或

或者正如@davidernburg所暗示的那样

setdiff(names(data), c("var1", "var2", "var3")

dplyr::select
是另一个选项;我肯定有
数据。table也有
解决方案。

也可能使用
setdiff(name(data),c(“var1”、“var2”、“var3”)
我应该意识到会有重复。例如,dplyr选项可以是
选择(data,-num_range(“var”,1:3))
。(+1)以完成数据表的
dt[,!paste0('var',1:3),使用=F]
dt[,paste0('var',1:3):=NULL]
data[,!names(data) %in% c("var1","var2","var3"))]
setdiff(names(data), c("var1", "var2", "var3")