我正在尝试创建一个条形图,显示我的员工已完成的培训课程数量。为此,我有一个名为iud
的数据框,其中每一行都是他们开始采用的独特课程:
name percent
<chr> <dbl>
1 Nardo 41.7
2 Nardo 0
3 Nardo 4.59
4 Nardo 100
...
我正在尝试使用ggplot来创建一个条形图,其中y轴是percent
等于100的实例数的计数。(所以对于上面的数据,Nardo&s; bar会在1)。我目前正在使用这个:
cpu <- ggplot(iud, aes(name)) +
geom_bar(data=subset(iud,percent=="100"), stat = "count") +
scale_y_continuous(breaks = seq(0,15,1))
图表看起来是正确的,但它不包括percent
的计数等于0的栏(已开始但未完成课程的员工未包含在图表中)。
我是否有更好的方法来确保所有员工都有图表 - 包括y轴值为0的那些?
答案 0 :(得分:1)
我认为预处理数据最容易,首先计算100%的数量。
library(tidyverse)
df %>% group_by(name) %>%
summarise(n = sum(percent == 100)) %>%
ggplot(aes(x = name, y = n)) +
geom_col()
#data
library(readr)
df <- read_delim("name percent
Nardo 41.7
Nardo 0
Nardo 4.59
Nardo 100
Ardi 45", delim = " ")