Tôi đang cố gắng tạo một âm mưu tần suất về số lần xuất hiện của loại biểu đồ theo năm. Tôi đã chơi xung quanh với ggplot2 trong một thời gian, nhưng tôi nghĩ rằng điều này là trên đầu của tôi (Tôi chỉ mới bắt đầu với R)Nhiều đường tần số trên cùng một biểu đồ trong đó y là một giá trị ký tự
Tôi kèm theo sơ đồ về những gì tôi muốn kết quả. Một trong những vấn đề khác mà tôi đang gặp phải là có nhiều năm mà các loại biểu đồ không xuất hiện. Có cách nào để loại trừ loại biểu đồ nếu nó không xuất hiện trong năm đó không?
ví dụ: vào năm 1940 không có "sociogram" Tôi không muốn có một loạt các dòng tại 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))
Xin vui lòng cho tôi biết nếu một cái gì đó không có ý nghĩa. StackOverflow nhanh chóng trở thành một trong những trang web yêu thích của tôi!
Thank, Jon
Dưới đây là những gì tôi có cho đến nay ... Cảm ơn bạn một lần nữa cho tất cả sự giúp đỡ của bạn! Và đây là cách tôi đã làm (tôi không thể chia sẻ tệp dữ liệu, vì đó là điều chúng tôi hy vọng sử dụng nó để xuất bản, nhưng khu vực ggplot có lẽ thú vị hơn, mặc dù tôi không thực sự làm bất cứ điều gì mới/mà không được thảo luận trong bài):
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
Nó không có ý nghĩa cố gắng gắn bó một biến ngày vào một ma trận, ngay cả sau khi bạn thay thế dấu ngoặc kép phải thiếu. –
Tôi không chắc đó là lý do nó không hoạt động ... – crock1255
Cả hai đều là "nhân vật" vào lúc này. Cố gắng tính toán mật độ (có vẻ là mục tiêu của bạn) về các giá trị ký tự có thể khó khăn. –