вы можете использовать aes_string, у меня нет вашего набора данных, поэтому я смоделировал значения для LEDrefLED1. Кроме того, если набор данных не слишком большой, сохраняйте графики в списке
library(gridExtra)
library(reshape2)
LEDref = data.frame(matrix(rnorm(100),20,5))
colnames(LEDref) = paste("LEDrefLED",1:5,sep="")
LEDref$sample1 = 1:20
LEDnum = c(1,2,3,4,5)
plots = vector("list",5)
for (i in 1:length(LEDnum))
{
plots[[i]] = ggplot(LEDref ,aes(x=sample1))+
geom_line(aes_string(y=paste("LEDrefLED",LEDnum[i],sep=""))) +
ggtitle(paste("LED ref + LED ",LEDnum[i],sep=""))
}
do.call(grid.arrange,plots)
В большинстве случаев, возможно, есть лучший способ упорядочить ваши данные. Таким образом, вы всегда можете повернуть фрейм данных, который у вас был, и выполнить фазовую сетку, как показано ниже, таким образом вы избежите строки и зацикливания.
dat=melt(LEDref,id.vars="sample1")
colnames(dat)[2:3] = c("LEDnum","value")
ggplot(dat,aes(x=sample1,y=value))+
geom_line()+
facet_wrap(~LEDnum)