我正在为一个由十个记录组成的摘要data.frame绘制条形图。每个记录都列出一个大小和该大小的频率。一个尺寸等级的频率为零。
但是,当运行时,零计数类消失了,而不是全部十个类,图中只有九个出现。
我尝试了as.numeric,但是它呈现为小数,并且不反映因子值。
我正在使用的ggpot2代码是:
plt1 <- ggplot(szt, aes(x = as.factor(size, Freq))) +
geom_bar(stat = "identity")
plt1 + xlab("Debitage Size, 5 mm class") + ylab("Frequency") +
ggtitle("Debitage Size Distribution by 5 mm class")
数据为:
size Freq
1 1 196
2 2 261
3 3 77
4 4 26
5 5 14
6 6 9
7 7 4
8 8 0
9 9 1
10 10 2
> str(szt)
'data.frame': 10 obs. of 2 variables:
$ size: Factor w/ 10 levels "1","2","3","4",..: 1 2 3 4 5 6 7 10 8 9
$ Freq: num 196 261 77 26 14 9 4 0 1 2
如上所述,我希望沿X轴看到所有十个因素。但是ggplot会删除零计数元素。
答案 0 :(得分:0)
@john欢迎来到SO。请参阅here,以了解如何创建最小的可复制示例。 尝试以下操作,
library(ggplot2)
df2<- data.frame(size = as.factor( c(1:10)),
freq=c(196,200,77,26,14,9,4,0,1,2)
)
df2
R> df2
size freq
1 1 196
2 2 200
3 3 77
4 4 26
5 5 14
6 6 9
7 7 4
8 8 0
9 9 1
10 10 2
ggplot(df2, aes(x = size, y=freq)) +
geom_bar(stat = "identity")