R语言读文件防止行名、列名中有的字符变成点号

我有一个TCGA的表达谱文件,用Excel打开长这样:

image.png

我用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.name方法转换:

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

你可能感兴趣的:(R语言读文件防止行名、列名中有的字符变成点号)