很抱歉,如果已经提出这个问题了!
我正在写一个闪亮的应用程序,它会查看学生在课后活动中的出勤率。数据按日期,活动类型,学生以及学生是否参加会议进行组织(二进制1表示是,0表示否)。还有一个“Rate”列,其出席次数为100次(我用于条形图,见下文)。以下是数据样本:
Date Activity Name Attended Rate
01/02/2017 Tutoring John Doe 1 100
01/02/2017 Music Jane Smith 0 0
02/02/2017 Drama John Doe 0 0
目前我正在条形图上绘制数据。我正在绘制学生的平均出勤率,使用按日期和活动列过滤的反应数据集(mydata())。以下是条形图的代码:
output$attendancerate <- renderPlot({
ggplot(mydata(), aes(Name, Rate)) +
stat_summary(geom = "bar", fun.y="mean") +
coord_flip() +
ylab("Attendance Rate (%)") +
stat_summary(aes(label=round(..y..,1)), fun.y=mean, geom="text",hjust=-.2)
我特别感兴趣的是关注出勤率为75%或更低的学生。我希望那些75%或更少的学生填充红色,75%或以上的学生填充绿色。
我似乎无法以对数据变化作出反应的方式解决这个问题!
提前感谢您的帮助。
答案 0 :(得分:0)
这个问题有几种解决方案。
其中一人在R中使用barplot()
请试试这个:
output$attendancerate <- renderPlot({
dataRead_bar<-mydata()[,c('Name',"Rate")]
cols <- c("red", "green")[(dataRead_bar$Rate > 0.75) + 1]
barplot(dataRead_bar[,c(2)], names = dataRead_bar$Name,
xlab = "Name", col=cols)
})
如果您有任何疑问,请与我们联系!我不知道您的被动数据集,所以我没有验证我的代码是否正常工作,但它应该为您提供解决此问题的线索。