从R中的data.frame中删除整个列

有人知道如何从R中的data.frame中删除整个列吗?例如,如果给我这个data.frame:

>总目(数据)
chr基因组区
1 chr1 hg19_refGene CDS
2 chr1 hg19_Ref基因外显子
3 chr1 hg19_refGene CDS
4 chr1 HG19REF基因外显子
5 chr1 hg19_refGene CDS
6 chr1 HG19REF基因外显子

我想删除第二列

您可以将其设置为NULL

>数据$genome<-无效的
&燃气轮机;总目(数据)
chr区
1 chr1光盘
2 chr1外显子
3张chr1光盘
4 chr1外显子
5张chr1光盘
6 chr1外显子

正如评论中所指出的,以下是一些其他可能性:

数据[2]<-空#沃伊切赫·索巴拉
数据[[2]]<-空#同上
数据<-数据[,-2]#Ian Fellows
数据<-数据[-2]#同上

您可以通过以下方式删除多个列:

数据[1:2]<-列表(空)#Marek
数据[1:2]<-空#不起作用!

但要注意矩阵子集,因为最终可能会得到一个向量:

数据<-数据[,-(2:3)]#向量
数据<-Data[,-(2:3),drop=FALSE]#仍然是一个Data.frame

发表评论