【发布时间】:2018-06-20 18:18:07
【问题描述】:
我有一个数据框,用于查看每个观察次数的总体失败百分比以及过去 30 天的百分比。可能有一种更有说服力的方法来做到这一点,但这就是我想出的,它产生了我想要的最终结果。
a$FAIL<-ifelse(a$OPERATION_STATUS %in% "FAIL", 1, 0)
cc<-as.data.frame((table(a$CRIT_CODE))) #Dataframe with frequency of each crit code
cf<-aggregate(FAIL~CRIT_CODE,a,sum) #Total number of fails based on crit codes
(cc<-cbind(cc[,],cf[,2]))
names(cc)<-c("CRIT_CODE", "Freq", "FAIL") #Change column names
(cc<-transform(cc, Percent=FAIL/Freq*100))
last30<-a[which(a$DATE>=(Sys.Date()-30)),]
last<-as.data.frame((table(last30$CRIT_CODE))) #Dataframe with frequency of each crit code
lastfails<-aggregate(FAIL~CRIT_CODE,last30,sum) #Total number of fails based on crit codes
(last<-cbind(last[,],lastfails[,2]))
names(last)<-c("CRIT_CODE", "Freq", "FAIL") #Change column names
(last<-transform(last, Percent=FAIL/Freq*100))
rates<-merge(critcode[,c(1,4)], last[,c(1,4)], by="CRIT_CODE")
rates$Percent.x<-round(rates$Percent.x, 2)
rates$Percent.y<-round(rates$Percent.y, 2)
library(gridExtra)
grid.table(rates, cols=c("Area", "Overall Percent", "30 Day Percent"))
我想将其合并到一个闪亮的应用程序中,用户可以在其中上传自己的数据集(具有相同的标题),因此可以持续更新 30 天的百分比。我是 Shiny 的新手,很难弄清楚如何实现这段代码。在浏览 Shiny 教程和其他 StackOverflow 问题时,似乎很多人使用多个响应式语句来操作数据。我觉得必须有更好的方法,因为这似乎需要一个表的大量反应性语句。有没有更好的建议来将它融入 Shiny 中?
【问题讨论】:
标签: r shiny data-manipulation