我的前提我與R新,實際上我試圖獲得基本面。 目前我正在處理大型數據框(稱爲「ppl」),爲了過濾一些行,我必須對其進行編輯。每行都包含在一個組中,它的特點是強度(到)值和樣本值。R For循環失敗應用最大功能
mz rt into sample tracker sn grp
100.0153 126 2.762664 3 11908 7.522655 0
100.0171 127 2.972048 2 5308 7.718521 0
100.0788 272 30.217969 2 5309 19.024807 1
100.0796 272 17.277916 3 11910 7.297716 1
101.0042 128 37.557324 3 11916 27.991320 2
101.0043 128 39.676014 2 5316 28.234918 2
那麼,第一個問題是:「我怎樣才能從每個組中選擇最高強度的樣本?」 我試過一個循環:
for (i in ppl$grp) {
temp<-ppl[ppl$grp == i,]
sel<-rbind(sel,temp[max(temp$into),])
}
事實是,它適用於$ GRP == 0脂肪酶,但下個週期返回來港行。 然後,過濾的數據幀(稱爲「sel」)也應該存儲已除去的行的樣本值。它應該是如下:
mz rt into sample tracker sn grp
100.0171 127 2.972048 c(2,3) 5308 7.718521 0
100.0788 272 30.217969 c(2,3) 5309 19.024807 1
101.0043 128 39.676014 c(2,3) 5316 28.234918 2
爲了得到這個我會用這種方法:
lev<-factor(ppl$grp)
samp<-ppl$sample
samp2<-split(samp,lev)
sel$sample<-samp2
任何提示?因爲我還沒有解決以前的問題,所以我無法測試它。
非常感謝。