R:按名称删除data.frame中的列

R:按名称删除data.frame中的列,r,dataframe,R,Dataframe,但是,如果我只有2列,则使用上述命令将生成一个向量: > mydata[, -which(names(mydata) %in% c("y"))] x1 x2 1 2.5 2.3 2 2.3 2.3 3 2.2 9.3 4 1.2 2.4 如何按名称删除y列,并将结果保留为原始列名的data.frame格式?只需使用mydata$y使用drop=FALSE,mydata2[,names(mydata2)!=“y”,drop=FALSE]真正重要的是,如果您删除,,它的工作方式与您希

但是,如果我只有2列,则使用上述命令将生成一个向量:

> mydata[, -which(names(mydata) %in% c("y"))]
   x1  x2
1 2.5 2.3
2 2.3 2.3
3 2.2 9.3
4 1.2 2.4

如何按名称删除
y
列,并将结果保留为原始列名的data.frame格式?

只需使用mydata$y使用
drop=FALSE
mydata2[,names(mydata2)!=“y”,drop=FALSE]
真正重要的是,如果您删除
,它的工作方式与您希望的一样,
mydata2[-which(names(mydata2)%in%c(“y”)]
只需使用mydata$y使用
drop=FALSE
mydata2[,names(mydata2)!=“y”,drop=FALSE]
真正重要的是,如果您删除
,它的工作方式就像您希望的那样,
mydata2[-其中(names(mydata2)%in%c(“y”)
> mydata[, -which(names(mydata) %in% c("y"))]
   x1  x2
1 2.5 2.3
2 2.3 2.3
3 2.2 9.3
4 1.2 2.4
mydata2 <- data.frame(y = c(1, 2, 3, 4), x1 = c(2.5, 2.3, 2.2, 1.2))
> mydata2[, -which(names(mydata2) %in% c("y"))]
[1] 2.5 2.3 2.2 1.2

   x1 
1 2.5 
2 2.3 
3 2.2 
4 1.2