r语言,csv数据,提取特定行

来源:3-4 列表的子集

慕仰91211

2018-08-26 00:12

sampleTCGA-CA-5256-01TCGA-AZ-6599-11TCGA-AA-3655-01TCGA-A6-6137-01TCGA-CK-4952-01TCGA-A6-5657-01TCGA-AD-6963-01TCGA-AA-3663-11
ARHGEF10L10.161611.121211.024511.057610.56610.418910.863511.0543
HIF3A3.71722.34372.08586.07591.95065.47774.46348.4492
RNF17000.549500000

上面第一行显示样本名字,样本名字最后的两个数字:01代表癌组织,11代表正常组织,有办法只提取正常组织的列吗?万分感谢

写回答 关注

1回答

  • 2624c
    2018-08-30 21:03:46

    刚学R不太会,用python写的把csv文件里你的要求写到一个新的csv文集里


    import re

    input_file=open('yourfile.csv')

    output_file=open('result.csv','w')

    table=[]

    for line in input_file:

        line=line.strip().split(',')

        table.append(line)


    new_table=zip(*table)

    pattern=re.compile(".*-11")

    result_table=[]

    for line in new_table:

        match=pattern.match(line[0])

        if match:

            result_table.append(line)


    result_table=zip(*result_table)

    for line in result_table:

        line=','.join(line)+'\n'

        output_file.write(line)


    output_file.close()

    input_file.close()


R语言基础

本R语言基础教程,教你如何在R中操纵自己数据,快速入门

79670 学习 · 262 问题

查看课程

相似问题