-
德玛西亚99
您可以使用一个简单的名称列表:DF <- data.frame(
x=1:10,
y=10:1,
z=rep(5,10),
a=11:20)drops <- c("x","z")DF[ , !(names(DF) %in% drops)]或者,您也可以列出要保存的人的列表,并按姓名引用:keeps <- c("y", "a")DF[keeps]编辑:对于那些仍然不熟悉drop参数,如果希望将一列保留为数据框架,则需要:keeps <- "y"DF[ , keeps, drop = FALSE]drop=TRUE(或者不提)将删除不必要的维度,从而返回带有列值的向量。y.
-
LEATH
还有subset命令,如果您知道需要哪些列,则此命令非常有用:df <- data.frame(a = 1:10, b = 2:11, c = 3:12)df <- subset(df, select = c(a, c))在@Hadley评论后更新:to滴下列a,c您可以这样做:df <- subset(df, select = -c(a, c))
-
繁华开满天机
within(df, rm(x))可能是最简单的,或者对于多个变量:within(df, rm(x, y))或者如果你在处理data.tableS(每如何在data.table中按名称删除列?):dt[, x := NULL] # Deletes column x by reference instantly.dt[, !"x"] # Selects all but x into a new data.table.或用于多变量dt[, c("x","y") := NULL]dt[, !c("x", "y")]