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

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

作者: 灵魂工具人 | 来源:发表于2020-12-23 11:49 被阅读0次

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

    image (3).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.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
    

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/ukpynktx.html