我正在尝试制作一个条形图,显示我调查的受访者的男/女比例。假设qual $ Q1.4是包含因子(男性为女性)的数据框的列,我有以下代码:
qual %>%
compute_tabulate(~Q1.4) %>%
ggvis(x = ~x_, y = ~count_/sum(count_), fill = ~x_) %>%
layer_bars() %>%
add_axis("x", title = "Gender") %>%
add_axis("y", title = "Percentage", format = "%")
这很有效,但两个条都有100%。如果我删除了填充属性,那么我的条形图具有正确的高度但没有着色。
当我放置一个可变填充属性时,知道为什么y轴停止正常工作吗?
数据看起来像这样: data sample
上面代码的输出如下: output
答案 0 :(得分:0)
问题实际上是ggvis()中的sum()函数。我添加了一个mutate()步骤(使用dplyr),问题解决了:
qual %>%
compute_tabulate(~Q1.4) %>%
mutate(percent = count_/sum(count_)) %>%
ggvis(x = ~x_, y = ~percent,fill=~x_) %>%
layer_bars() %>%
add_axis("x", title = "Gender") %>%
add_axis("y", title = "Percentage", format = "%")
输出:graph
但仍然不知道为什么它发生在第一位。 ggvis的错误?