Ich habe einen Datenrahmen, die in etwa wie folgt aussieht:Wie data.frame mit mehreren Spalten in ggplot2 plotten?
aa <- c(1:7)
bb <- c(11:15)
df1 <- expand.grid(aa, bb)
val1 <- rnorm(nrow(df1))
val2 <- runif(nrow(df1))
df <- data.frame(df1, val1, val2)
names(df) <- c("aa", "bb", "val1", "val2")
Was ich tun möchte: Für eine feste aa (sagen wir, 1), gibt es eine Zeitreihe von val1 und val2 für alle Werte von bb . Nun möchte ich diese Zeitreihen (für aa = 1 sind dies 5 für jede val1 und val2) plotten. (also insgesamt 7 * 5 * 2 Zeitreihen)
Wie kann ich das mit ggplot2 machen?
Ich habe versucht, die folgenden:
require(ggplot2)
require(reshape2)
df_pl <- melt(df, id.vars = c("aa", "bb"), variable.name = 'val')
ggplot(df_pl, aes(aa, value)) + geom_point(aes(colour = val))
ggplot(df_pl, aes(bb, value)) + geom_point(aes(colour = val))
Aber diese produziert nur Plots von val1 und val2 als Funktionen von aa und bb, für jeden Wert von bb nicht eine val1/val2 Serie. Ich verwende wahrscheinlich die Schmelze Funktion falsch
So etwas wie das? 'ggplot (df_pl, aes (x = (Wechselwirkung (bb, aa)), y = Wert, Farbe = val)) + geom_point()' – Jimbou
@Jimbou Hmm, das zeichnet alle 'val1' und' val2' für alle Kombinationen von aa und bb. Was ich tun möchte ist, sagen wir aa = 1, zeichnen Sie eine Zeitreihe von 'val1' und' val2' als Funktionen von bb, dann machen Sie das gleiche für aa = 2 und so weiter. Also sollte es 7 * 5 Zeitreihen von val1 und 7 * 5 Zeitreihen von val2 gezeichnet – user3825755