Я пытаюсь создать частотный график числа появлений типа графика по годам.
Некоторое время я играл с ggplot2, но думаю, что это над моей головой (я только начинаю с R)
Я приложил схему того, как должен выглядеть результат. Еще одна проблема, с которой я сталкиваюсь, заключается в том, что многие годы типы графиков не отображаются. Есть ли способ исключить тип графика, если он не отображается в этом году?
например. в 1940 году нет "социограммы", я не хочу, чтобы в 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))
Пожалуйста, дайте мне знать, если что-то не имеет смысла. StackOverflow быстро становится одним из моих любимых сайтов!
Спасибо,
Jon
Вот что у меня так далеко ...
Еще раз спасибо за вашу помощь!
А вот как я это сделал (я пока не могу поделиться файлом данных, так как мы надеемся использовать его для публикации, но область ggplot, вероятно, более интересна, хотя на самом деле я этого не делал сделать что-нибудь новое / что не обсуждалось в посте):
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