1
我是新來的R和,有一些問題的循環和grepl功能 我有類似的數據:如何使用grepl函數的變量的內環路-R
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" ...
我想過濾使用下面
peptidesFilter.new <- peptidesFilter[grepl('(^|;)2($|;)',
peptidesFilter$Protein.group.IDs),]
grepl函數的數據根據$ Protein.group.IDs我想與每一個人的數據的循環(如1,2,3,等...) 並重新做 - 包含變量肽的數據幀的名稱FilterFilter.i
i =1
while(i <= N) { peptidesFilter.[[i]] <-
peptidesFilter[grepl('(^|;)i($|;)',
peptidesFilter$Protein.group.IDs),]
i=i+1 }
我有兩個問題, 最主要的一個我在grep1功能不承認爲一個變量,我怎麼能重新命名的方式,將包含變量過濾後的數據。
有什麼想法?
非常感謝! paste0('(^ |;)',i,'($ |;)')解決了grep1問題,我無法理解lapply,基本上我想根據ID拆分數據,然後進一步處理每個拆分的數據。例如序列信息。 do.call(rbind,ll),它再次合併所有數據。是否有可能創建單獨的數據框(如peptideFilterx1,peptidesFilterx2等),當x = 1,x = 2等...或者我理解你錯了嗎? – Samir
@Samir列表ll是你想要的,我想。 – agstudy
對不起,我現在想通了。非常感謝 – Samir