r - R:如何使用多个过滤器绘制折线图。(R-闪亮 / flexdashboard)
问题描述
R:如何使用多个过滤器绘制折线图。(R-闪亮/ flexdashboard)。
我想从总数中绘制具有平均现值的折线图。员工参加过的活动。
示例: 员工 A 在 01/2019 的事件总数为 4,而他只出现在 1 中,那么它应该显示该月 25% 的结果。((1/4) * 100) %
这是示例数据,但实际上有 100 多名员工,所以结果应该是员工姓名的行颜色代码。
数据集如:
Employee Status Month_Yr
A PRESENT 01/2019
C PRESENT 01/2019
B PRESENT 01/2019
C PRESENT 02/2019
D PRESENT 03/2019
A PRESENT 01/2019
B PRESENT 03/2019
C PRESENT 01/2019
B ABSENT 01/2019
D ABSENT 01/2019
A ABSENT 01/2019
C PRESENT 02/2019
B PRESENT 01/2019
A PRESENT 02/2019
A ABSENT 02/2019
D ABSENT 03/2019
C PRESENT 01/2019
C ABSENT 01/2019
C ABSENT 01/2019
A ABSENT 02/2019
C ABSENT 04/2019
B ABSENT 01/2019
我试过的代码:
sub_data5 <-mutate(sub_data5, ontime = ifelse(sub_data5$Status=="PRESENT","Y","N"))
sub_data5 <- sub_data5 %>%
count(year_month, Employee, ontime,year,Month) %>%
group_by(year_month, Employee,year,Month) %>%
mutate(Prop = (n/sum(n))*100)
sub_data5$`Prop` <- as.integer(sub_data5$`Prop`)
ggplot(sub_data5, aes(x=year_month, y=Prop, group=Employee, color=Employee)) +
geom_line()
但我想显示一个带有 year_month、Employee、year、Month 过滤器的线图。
就像我们在可旋转检查附加图像中获得过滤器一样。
解决方案
从这段代码中我得到了我的结果。
# Calculate total count of status and add new column for its percentage value.
sub_data5 <- sub_data5 %>%
count(Month_yr, Employee, Status) %>%
group_by(Month_yr, Employee) %>%
mutate(Percent = (n/sum(n))*100)
# Convert Percentage decimal to string
sub_data5$`Percent ` <- (as.integer(sub_data5$`Percent`)+" %")
# Drop row values with ABSENT
sub_data5<-sub_data5[!(sub_data5$Status=="ABSENT"),]
#Employee can't use in plot because it's used as grouping so convert DF in to new DF
sub_data10 <- as.data.frame(sub_data5)
# Plot line chart.
plo <- ggplot(data=sub_data10, aes(x=Month_yr, y=Precent, group=Employee, colour=Employee)) +
geom_line() +
geom_point()
fig <- ggplotly(plo)
fig
推荐阅读
- docker - 使用 Docker Compose 的 Eureka 客户端
- java - 可运行类未执行
- sql - 组的行级安全性或使行可用于组
- java - Timer/ScheduledExecutorService/Job scheduler 无法正常工作
- java - 如何在 Wildfly 11 上的异步事件中保持 CDI 上下文?
- node.js - 如何使用 xlsx npm 包(node js)解析 excel 文件中的数字字段
- r - ggplot2:如何将 geom_text 放在栏前面?
- npm - NPM 运行监视错误
- jquery - 通过 ajax 提交表单数据时出现问题
- python - 在不安装的情况下使用 pymongo