Mi piacerebbe tracciare ogni colonna di un dataframe su un livello separato in ggplot2. Costruire lo strato dopo strato plot funziona bene:come aggiungere layer in ggplot usando un ciclo for-
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]))
Esiste un modo per tracciare tutte le colonne disponibili presso quelli utilizzando una singola funzione?
ho cercato di fare in questo modo, ma non funziona:
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)
Grazie, questo risponde alla mia domanda. Aiuta davvero. reshape2 è molto utile. Immagino di dovermi abituare al formato lungo. – new2R