2017-02-21 70 views
1

對不起,如果這個問題已經被問到!用閃亮的反應數據改變條形圖顏色

我正在寫一個閃亮的應用程序,看看在放學後活動的學生出席率。數據按日期,活動類型,學生以及學生是否參加會話進行組織(二進制爲1,否爲0)。還有一個「費率」欄,它只出席了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

這個問題有幾種解決方案。

其中之一就是在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) 

}) 

請讓我知道如果您有任何問題!我不知道你的反應數據集,所以我沒有驗證我的代碼是否工作正常,但它應該爲你提供線索來解決這個問題。

+0

感謝您的回覆!當我運行代碼時,我沒有得到平均值? – user7599268