2

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

例如:文件“myfile”是一个 data.frame 组成如下(特别是我有一个 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)), ]

谁能帮我?

4

1 回答 1

6

下面的代码会给你一个列表。列表的每个元素都是由正则表达式过滤的列的子集_at$。见?grep

lapply( myfile, 
   function(column) grep( "_at$", column, invert = TRUE, value = TRUE )
)
于 2012-11-13T09:56:12.027 回答