Я хотел бы построить каждый столбец данных на отдельный слой в ggplot2. Строительство участка послойно хорошо работает:Как добавить слои в ggplot с помощью for-loop
df<-data.frame(x1=c(1:5),y1=c(2.0,5.4,7.1,4.6,5.0),y2=c(0.4,9.4,2.9,5.4,1.1),y3=c(2.4,6.6,8.1,5.6,6.3))
ggplot(data=df,aes(df[,1]))+geom_line(aes(y=df[,2]))+geom_line(aes(y=df[,3]))
Есть ли способ, чтобы построить все доступные столбцы на них с помощью одной функции?
Я пытался сделать это таким образом, но это не работает:
plotAllLayers<-function(df){
p<-ggplot(data=df,aes(df[,1]))
for(i in seq(2:ncol(df))){
p<-p+geom_line(aes(y=df[,i]))
}
return(p)
}
plotAllLayers(df)
Спасибо, это отвечает на мой вопрос. Это действительно помогает. reshape2 очень полезен. Я предполагаю, что мне нужно привыкнуть к длинному формату. – new2R