una pairs lineas linea grafico graficar grafica etiqueta dibujar diagramas datos curva r ggplot2 linechart

lineas - pairs en r



Agrupar datos y trazar lĂ­neas mĂșltiples. (3)

¿Es esto lo que quieres? Necesita group = School_id para decirle a ggplot2 que dibuje líneas separadas para cada escuela. Si desea que el eje horizontal incluya todos los años entre 1998 y 2005, elimine el factor en x = factor(year)

library(ggplot2) df = read.table(text = "School_id Year Value A 1998 5 B 1998 10 C 1999 15 A 2000 7 B 2005 15", sep = "", header = TRUE) ggplot(data = df, aes(x = factor(Year), y = Value, color = School_id)) + geom_line(aes(group = School_id)) + geom_point()

Me gustaría trazar varias líneas en R para este conjunto de datos: (x = Año, y = Valor)

School_ID Year Value A 1998 5 B 1998 10 C 1999 15 A 2000 7 B 2005 15

Cada escuela tiene datos para diferentes años. Me gustaría tener una línea para cada escuela.


La función de trazado en la base R no admite la agrupación, por lo que debe mostrar los grupos uno por uno. GGPLOT maneja bien el agrupamiento. También sugiero mirar Trellis XYPLOT que te permite trazar grupos separados.

Así es como puede crear un gráfico de líneas agrupadas básicas utilizando Trellis:

library(lattice) rm(list = ls()) # clear objects graphics.off() # close graphics windows test = data.frame(x = rep(1:3, each = 2), group = rep(c("Group 1","Group 2"),3), y= c(22,8,11,4,7,5) ) xyplot(y~x, type="b", group=group, data=test, auto.key =list( points = FALSE, columns=2, lines = TRUE) )


Vamos a crear algunos datos:

dd = data.frame(School_ID = c("A", "B", "C", "A", "B"), Year = c(1998, 1998, 1999, 2000, 2005), Value = c(5, 10, 15, 7, 15))

Luego, para crear una gráfica en gráficos base, creamos una gráfica inicial de un grupo:

plot(dd$Year[dd$School_ID=="A"], dd$Value[dd$School_ID=="A"], type="b", xlim=range(dd$Year), ylim=range(dd$Value))

entonces agregue iterativamente en las líneas:

lines(dd$Year[dd$School_ID=="B"], dd$Value[dd$School_ID=="B"], col=2, type="b") lines(dd$Year[dd$School_ID=="C"], dd$Value[dd$School_ID=="C"], col=3, type="b")

He usado type="b" para mostrar los puntos y las líneas.

Alternativamente , utilizando ggplot2:

require(ggplot2) ##The values Year, Value, School_ID are ##inherited by the geoms ggplot(dd, aes(Year, Value,colour=School_ID)) + geom_line() + geom_point()