2017-06-28 72 views
0

我敢肯定,這應該是非常簡單的,但我找不到解決方案,並且無法在r中的其他循環問題中看到答案。我有一個數據集datDET,其中包含21個不同'凝膠'的數據集,並且我想繪製一個繪圖,其中繪製了每個數據集的一系列圖。我有下面的代碼,但是,我只是得到了錯誤,我的代碼中有一個意外的符號,這是我之後的]。任何幫助解決這個將不勝感激!這是我現在的代碼!創建一個for循環來繪製ggplot中的多個數據系列

G1.dat <- datDET[datDET$Gel==1,] 
G2.dat <- datDET[datDET$Gel==2,] 
G3.dat <- datDET[datDET$Gel==3,] 
G4.dat <- datDET[datDET$Gel==4,] 
G5.dat <- datDET[datDET$Gel==5,] 
G6.dat <- datDET[datDET$Gel==6,] 
G7.dat <- datDET[datDET$Gel==7,] 
G8.dat <- datDET[datDET$Gel==8,] 
G9.dat <- datDET[datDET$Gel==9,] 
G10.dat <- datDET[datDET$Gel==10,] 
G11.dat <- datDET[datDET$Gel==11,] 
G12.dat <- datDET[datDET$Gel==12,] 
G13.dat <- datDET[datDET$Gel==13,] 
G14.dat <- datDET[datDET$Gel==14,] 
G15.dat <- datDET[datDET$Gel==15,] 
G16.dat <- datDET[datDET$Gel==16,] 
G17.dat <- datDET[datDET$Gel==17,] 
G18.dat <- datDET[datDET$Gel==18,] 
G19.dat <- datDET[datDET$Gel==19,] 
G20.dat <- datDET[datDET$Gel==20,] 
G21.dat <- datDET[datDET$Gel==21,] 

library(ggplot2) 

p <- ggplot(datDET, aes(x = NO3, y = Depth)) 

for (i in c(1:21)){ 
p1 <- p + geom_point(data=Gi.dat) 
} 
+0

循環就必須仔細檢查每一個命名對象OG Gxx.dat?你可以只寫循環部分來遍歷子集:'p1 < - p + geom_point(data = datDET [datDET $ Gel == i,])' –

+0

更好地將data.frame分割成data.frames列表使用像'myList lmo

回答

0

data=Gi.dat正在尋找一個名爲Gi.dat一個對象,你沒有。如果你希望能夠更換與循環值我,你將不得不使用getpaste

data=get(paste0("G",i,".dat"))

相關問題