我有一个TCGA的表达谱文件,用Excel打开长这样:
我用R的read.table功能读取该表格:
e <- read.table("TCGA-LAML.htseq_counts.tsv", header=TRUE, row.names=1)
我满心欢喜的想要获取TCGA-AB-2949-03B列的表达值:
e[1:10, "TCGA-AB-2949-03B"]
结果返回的却是NULL,查看e的列名才发现,TCGA-AB-2949-03B列的列名根本不是TCGA-AB-2949-03B。经过搜索我发现,原来R自动会把列作为一个变量,如果列名不符合R的变量命名规则就会使用make.names方法转换:
make.names("TCGA-AB-2949-03B")
返回:
TCGA.AB.2949.03B
那如何禁用这种行为呢:
e <- read.table("TCGA-LAML.htseq_counts.tsv", header=TRUE, row.names=1, check.names=FALSE)
e[1:10, "TCGA-AB-2949-03B"]
返回:
[1] 5.129283 1.000000 9.972980 9.980140 9.517669 11.398744 6.228819
[8] 9.722808 10.982281 11.914759
网友评论