从R中的data.frame中删除整个列 [英] Remove an entire column from a data.frame in R
本文介绍了从R中的data.frame中删除整个列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
>头(数据)
chr基因组区域
1 chr1 hg19_refGene CDS
2 chr1 hg19_refGene外显子
3 chr1 hg19_refGene CDS
4 chr1 hg19_refGene外显子
5 chr1 hg19_refGene CDS
6 chr1 hg19_refGene exon
我想删除第二列。 >
解决方案
您可以将其设置为 NULL
。
>数据$基因组< - NULL
>头(数据)
chr区域
1 chr1 CDS
2 chr1外部
3 chr1 CDS
4 chr1外部
5 chr1 CDS
6 chr1 exon
正如在评论中指出的,这里有一些其他的可能性:
数据[2]< - NULL#Wojciech Sobala
数据[[2]]< - NULL#与上述相同
数据< - 数据[, - 2]#Ian Fellows
数据< - 数据[-2]#与上述相同
您可以通过以下方式删除多个列:
数据[1:2] list(NULL)#Marek
数据[1:2]< - NULL#不起作用!
尽管如此,请注意矩阵子集,因为您可以使用向量:
数据< - 数据[, - (2:3)]#矢量
数据< - 数据[, - (2 :3),drop = FALSE]#still a data.frame
Does anyone know how to remove an entire column from a data.frame in R? For example if I am given this data.frame:
> head(data)
chr genome region
1 chr1 hg19_refGene CDS
2 chr1 hg19_refGene exon
3 chr1 hg19_refGene CDS
4 chr1 hg19_refGene exon
5 chr1 hg19_refGene CDS
6 chr1 hg19_refGene exon
and I want to remove the 2nd column.
解决方案
You can set it to NULL
.
> Data$genome <- NULL
> head(Data)
chr region
1 chr1 CDS
2 chr1 exon
3 chr1 CDS
4 chr1 exon
5 chr1 CDS
6 chr1 exon
As pointed out in the comments, here are some other possibilities:
Data[2] <- NULL # Wojciech Sobala
Data[[2]] <- NULL # same as above
Data <- Data[,-2] # Ian Fellows
Data <- Data[-2] # same as above
You can remove multiple columns via:
Data[1:2] <- list(NULL) # Marek
Data[1:2] <- NULL # does not work!
Be careful with matrix-subsetting though, as you can end up with a vector:
Data <- Data[,-(2:3)] # vector
Data <- Data[,-(2:3),drop=FALSE] # still a data.frame
这篇关于从R中的data.frame中删除整个列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文