r - 计算给定时间空间范围内数据的百分比
问题描述
我有一个这样的数据库,但更大。
Indicea<-c(1,2,3,5,3,1,3,5,3,6,NA,2,1,1,3,2)
Indiceb<-c(12,15,12,14,13,16,14,13,15,12,14,13,NA,13,11,12)
Indicec<-c(100,NA,120,154,125,201,102,150,102,105,140,156,118,113,175,189)
Especialidad<-c("gato","gato","gato","perro","perro","perro","perro",
"buho","buho","buho","buho","tigre","tigre","tigre",NA,"tigre")
Indiced<-c(0.1,0.5,06,032,0.1,0.25,0.23,0.12,0.15,NA,0.25,0.45,1.0,0.5,0.26,0.45)
Fecha<-c("01/03/2020","02/03/2020","03/03/2020","04/03/2020",
"05/03/2020","06/03/2020","07/03/2020","08/03/2020",
"09/03/2020","10/03/2020","11/03/2020","12/03/2020",
"13/03/2020","14/03/2020","15/03/2020","15/03/2020")
data<-dataframe(Indicea, Indiceb,Indicec,Indiced,Especialidad,Fecha)
我的用户界面很完美这是我发球的一小部分,我有一个可以根据列改变的滑块输入。我需要做一个按“Especialidad”分组的表格,并计算sliderInput中所选数字出现在范围内的次数及其代表的百分比
output$Rango<-renderUI({
req(input$SeleccioneIndice)
minn <- min(BD9.3()[,input$SeleccioneIndice], na.rm = TRUE)
maxx <- max(BD9.3()[,input$SeleccioneIndice], na.rm = TRUE)
sliderInput("Rango",label = "Seleccione un rango", min = minn,
max=maxx, value=c(minn,maxx))
})
BD9.5<-reactive({
BD9.4<-BD9.3()
BD9.4$Intervalo<-NA
BD9.4$Intervalo<-replace(BD9.4$Intervalo,BD9.4[,which
(names(BD9.4)==input$SeleccioneIndice)]>=as.numeric(minn),
"Correcto")
BD9.4$Intervalo<-replace(BD9.4$Intervalo,BD9.4[,which
(names(BD9.4)==input$SeleccioneIndice)]<=as.numeric(maxx),
"Fallo")
BD9.4$Intervalo<-replace(BD9.4$Intervalo,BD9.4[,which
(names(BD9.4)==input$SeleccioneIndice )]<=as.numeric(minn),
"Correcto")
BD9.4$Intervalo<-replace(BD9.4$Intervalo,BD9.4[,which
(names(BD9.4)==input$SeleccioneIndice)]>=as.numeric(maxx),
"Fallo")
BD9.6<-as.data.frame(table(BD9.4$specialty.name,BD9.4$Intervalo))
names(BDa4)<-c("Especialidad","Intervalo","Total")
BD9.6$Porcentaje<-NA
for(i in levels(factor(BD9.6$Especialidad))){
BD9.6[BD9.6$Especialidad==i,]$Porcentaje=round((
BD9.6[BD9.6$Especialidad==i,]$Total/sum
(BD9.6[BD9.6$Especialidad==i,]$Total))*100,2)
}
BD9.6 <- arrange(BD9.6, Especialidad, Cumplimiento)
BD9.6
output$summary9<-renderPrint({
BD9.6%>%
filtro<-subset(BD9.6, Cumplimiento == "Correcto")
print(arrange(filtro,-Porcentaje))
})
解决方案
推荐阅读
- python - Python在没有装饰器的情况下使用坚韧重试
- python - 加载数据集以避免内存消耗
- tls1.2 - pure-ftp TLS:抱歉,此服务器不接受明文会话
- mysql - DateTime 值的 phpMyAdmin 外键未按预期工作
- isabelle - 限制 Isabelle 中关系的域
- deep-learning - 为什么 GoogLeNet 重新训练的模型大小比其他模型小?
- java - 从 .mod 文件中获取 LP,使用 GLPK 解决它并以可用的形式获取输出
- reactjs - 使用 React 时如何修复 400 bad request 错误?
- python - 试图连接 keras 中具有相同形状的两层,从而导致形状匹配错误
- c++ - 初始化向量,然后将所有值复制到地图中