2017-06-28 36 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"))

相关问题