Estoy tratando de crear una gráfica de frecuencia del número de apariciones de un tipo de gráfico por año. He jugado con ggplot2 por un tiempo, pero creo que esto está por encima de mi cabeza (estoy empezando con R)Múltiples líneas de frecuencia en el mismo gráfico donde y es un valor de carácter
He adjuntado un esquema de cómo me gustaría que fuera el resultado. Uno de los otros problemas con los que me estoy cruzando es que hay muchos años en los que los tipos de gráfico no aparecen. ¿Hay alguna forma de excluir el tipo de gráfico si no aparece ese año?
p. Ej. en 1940 no hay un "sociograma" No quiero tener un montón de líneas a 0 ...
year <- c("1940","1940","1940","1940","1940","1940","1940","1940","1940","1940","1940","1941","1941","1941","1941","1941","1941","1941","1941","1941","1941","1941","1941","1941","1941")
type <- c("Line","Column", "Stacked Column", "Scatter with line", "Scatter with line", "Scatter with line", "Scatter with line", "Map with distribution","Line","Line","Line","Bar","Bar","Stacked bar","Column","Column","Sociogram","Sociogram","Column","Column","Column","Line","Line","Line","Line")
ytmatrix <- cbind(as.Date(as.character(year), "%Y", type))
Por favor, hágamelo saber si hay algo que no tiene sentido. ¡StackOverflow se está convirtiendo rápidamente en uno de mis sitios favoritos!
gracias, Jon
Esto es lo que tengo hasta ahora ... Gracias de nuevo por toda su ayuda!
Y así es como lo hice (No puedo compartir el archivo de datos todavía, ya que es algo que esperamos usar para una publicación, pero el área ggplot es probablemente la más interesante, aunque no lo hice realmente hacer nada nuevo/que no fue discutido en el post):
AJS = read.csv(data) #read in file
Type = AJS[,17] #select and name "Type" column from csv
Year = AJS[,13] #select and name "Year" column from csv
Year = substr(Year,9,12) #get rid of junk from year column
Year = as.Date(Year, "%Y") #convert the year character to a date
Year = format(Year, "%Y") #get rid of the dummy month and day
Type = as.data.frame(Type) #create data frame
yt <- cbind(Year,Type) #bind the year and type together
library(ggplot2)
trial <- ggplot(yt, aes(Year,..count.., group= Type)) + #plot the data followed by aes(x- axis, y-axis, group the lines)
geom_density(alpha = 0.25, aes(fill=Type)) +
opts(axis.text.x = theme_text(angle = 90, hjust = 0)) + #adjust the x axis ticks to horizontal
opts(title = expression("Trends in the Use of Visualizations in The American Journal of Sociology")) + #Add title
scale_y_continuous('Appearances (10 or more)') #change Y-axis label
trial
No tiene sentido tratar de pegar una variable de fecha en una matriz, incluso después de que reemplaces la derecha-parén faltante. –
No estoy seguro de que sea la razón por la que no está funcionando ... – crock1255
Ambos son "personajes" en este momento. Intentar calcular las densidades (que parece ser su objetivo) en los valores de los caracteres puede ser difícil. –