我是 R 新手,在循环和 grepl 函数方面存在一些问题,我的数据来自:
str(peptidesFilter)
'data.frame': 78389 obs. of 130 variables:
$ Sequence : chr "AAAAAIGGR" "AAAAAIGGRPNYYGNEGGR" "AAAAASSNPGGGPEMVR" "AAAAAVGGR" ...
$ First.amino.acid : chr "A" "A" "A" "A" ...
$ Protein.group.IDs : chr "1" "1;2;4" "2;5 "3" "4;80" ...
我想使用下面的 grepl 函数根据 $ Protein.group.IDs 过滤数据
peptidesFilter.new <- peptidesFilter[grepl('(^|;)2($|;)',
peptidesFilter$Protein.group.IDs),]
我想对每个单独的数据(例如1、2、3等)进行循环,并重写包含变量peptidesFilter.i的数据框的名称
i =1
while( i <= N) { peptidesFilter.[[i]] <-
peptidesFilter[grepl('(^|;)i($|;)',
peptidesFilter$Protein.group.IDs),]
i=i+1 }
我有两个问题,主要是 grep1 函数中的 i 不被识别为变量,以及如何以包含变量的方式重新命名过滤后的数据。
有任何想法吗?