我正在尝试在大文件中将所有不以"_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)), ]
任何人都可以帮助我吗?
答案 0 :(得分:6)
以下代码将为您提供一个列表。列表的每个元素都是由正则表达式_at$
过滤的列之一的子集。请参阅?grep
。
lapply( myfile,
function(column) grep( "_at$", column, invert = TRUE, value = TRUE )
)