假设我们有以下玩具数据结构:
<ion-list radio-group [(ngModel)]="person1">
<ion-item>
<ion-label>Alice</ion-label>
<ion-radio value="alive"></ion-radio>
<ion-radio value="dead"></ion-radio>
<ion-radio value="zombi"></ion-radio>
</ion-item>
</ion-list>
在这个数据中,一个分组的计数为零(即B类没有计数值为3):
data <- structure(list(value = c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L, 2L, 2L, 3L, 3L, 3L, 3L), class = structure(c(1L, 1L, 1L,
2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L), .Label = c("A",
"B"), class = "factor")), .Names = c("value", "class"), class = "data.frame", row.names = c(NA,
-16L))
下面的代码绘制了条形图(y轴上的相对频率),但是我需要为零计数显示空白区域。相反,> library(dplyr)
> count(data, value, class)
Source: local data frame [5 x 3]
Groups: value [?]
value class n
<int> <fctr> <int>
1 1 A 3
2 1 B 3
3 2 A 4
4 2 B 2
5 3 A 4
消除了零计数的条形。有关如何包含零计数的任何建议吗?
ggplot2
此问题与过去的类似问题(例如Don't drop zero count)有关,但建议的解决方案在此处不起作用。
答案 0 :(得分:2)
这个程序化够了吗?我预先计算了所有内容并绘制了它...请注意table
“对于没有数据的因子组合计数为零。
library(ggplot2)
xy <- table(data$class, data$value)
xy <- as.data.frame(xy)
xy$rel.freq <- xy$Freq / aggregate(Freq ~ Var1, FUN = sum, data = xy)$Freq
ggplot(xy, aes(x = Var2, y = rel.freq, fill = Var1)) +
theme_bw() +
scale_fill_brewer(palette = "Set1") +
geom_bar(stat = "identity", position = "dodge")