r语言 - grep and subset



我正在尝试在一个大文件中对所有不以"_at"结尾的单词进行子集化。

例如:文件"myfile"是一个数据帧,组成如下(特别是我有一个包含 50 列和 1000 行的文件):

myfile <- read.table( text = '"G1"            "G2"  
    SEP11          ABCC1   
    205772_s_at    FMO2   
    214223_at      ADAM19     
    ANK2           215742_at 
    COPS4          BIK 
    214808_at      DCP1A
    ACE            ALG3
    BAD            215369_at
    EMP3           215385_at
    CARD8          217579_x_at
', header = TRUE, stringsAsFactors = FALSE)

我想要以下输出:

  "G1"           "G2"  
 SEP11          ABCC1  
 ANK2           FMO2  
 COPS4          ADAM19     
 ACE            BIK   
 BAD            DCP1A
 EMP3           ALG3 
 CARD8

我使用了以下字符串,但它不起作用,可能是因为我做错了什么:

sub <- myfile[-grep("\_at", names(myfile)), ]

谁能帮我?

以下代码将为您提供一个列表。列表中的每个元素都是由正则表达式 _at$ 过滤的列之一的子集。请参阅?grep

lapply( myfile, 
   function(column) grep( "_at$", column, invert = TRUE, value = TRUE )
)

最新更新