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")