以下是制作情节的代码:
years <- c(1980, 1984, 1984, 1986, 1988)
pubs <- c("book","book","poem","poem","book")
mypubs <- data.frame(years,pubs)
counts <- table(mypubs$pubs,mypubs$years)
barplot(counts,main="pubs per year",xlab="year",col=c("darkblue","red"),legend=rownames(counts))
这是时间序列数据,1981,1982,1983,1985和1987没有数据。数据是我在任何给定时间阅读一本书或一首诗。
是否有一种直接的方式来取消mypubs
并为缺失的年份添加漏洞?我已经尝试过制作直方图,但是我无法弄清楚每年如何使它成为可靠的一个条形,我无法弄清楚如何使直方图做叠加的颜色。
答案 0 :(得分:1)
在运行代码之前,请执行以下操作:
mydata$B <- factor(mydata$B, levels=1990:2015)
然后运行您的代码,您将看到1990年至2015年期间没有数据的0个计数。如果您想要不同的年份范围,请修改代码。
答案 1 :(得分:1)
从上面扩展Greg的答案,试试这个:
years <- c(1980, 1984, 1984, 1986, 1988)
pubs <- c("book","book","poem","poem","book")
mypubs <- data.frame(years,pubs)
mypubs$years<-factor(mypubs$years, levels = as.character(1980:1990))
counts <- table(mypubs$pubs,mypubs$years)
barplot(counts,main="pubs per year",xlab="year",col=c("darkblue","red"),legend=rownames(counts))
“factor”命令将years列转换为因子,而可选的“levels”将设置可用的级别