###
### Dormir08 es tiempo durmiendo segun diario
### Dormir10 es tiempo durmiendo segun visual
###
### Dormir05 es tiempo en cama segun diario
### Dormir07 es tiempo en cama segun criterio visual
dfInforme=dfActXBin %>% filter(actCodigo=="Dormir10" & actEtiquetas %in% c("EstherC","NM")) %>%
select( id,dirBin,ficBin,actInicio,actFin) %>%
mutate(from=ymd_hms(actInicio,tz = "Europe/Madrid"),to=ymd_hms(actFin,tz = "Europe/Madrid")) %>%
rename(Nodo=dirBin,fileBIN=ficBin) %>% select(-actInicio,-actFin)
#############
vRadar=c("n_bedNewtime","bedNew_bedNewtime_mean", "INA_B1_awakeNew_mean",
"MVPA_B10_daily_mean","bedGGIR_bedGGIRtime_mean")
dfApp=dfInforme %>% group_by(Nodo,fileBIN) %>% tally() %>% ungroup() %>%
left_join(dfAcelerometria) %>%
select(Nodo:Tiempo,vRadar,starts_with("autofecha"))
## Joining, by = c("Nodo", "fileBIN")
dfApp$NUMERO=1:nrow(dfApp)
tablas=1:nrow(dfApp) %>% map(
safely(
function(i)analizaBoutsV2(dfApp,vPrimeraFase,listaDeVariablesElegidas,paleta,variablesANoMostrar,listaCalendarioXIntervalos,modeloHorarios = modeloHorariosBase,parametrosAcelerometria = parametrosAcelerometria,i)
)
)
## clasificador : AnaFernandezTAS1E37150030RAW.csv
## clasificador : CarmenMadridTASS1E37150031RAW.csv
## clasificador : IsabelDiazTAS1E37150041RAW.csv
## clasificador : TAS1E37150032__2019-03-21_RAW.csv
## clasificador : TAS1E37150068__2019-03-21_RAW.csv
## clasificador : TAS1E37150078__2019-03-21_RAW.csv
dfCompleta=dfInforme %>% left_join(dfApp) %>% select(id,NUMERO,Nodo,fileBIN,from,to,everything()) %>% arrange(NUMERO,from) %>%
mutate(metodoNuevo=NA,metodoGGIR=NA)
## Joining, by = c("Nodo", "fileBIN")
i=1
for(i in 1:nrow(dfCompleta)){
NUMERO=dfObjetivo=dfCompleta$NUMERO[i]
dfObjetivo=dfCompleta[i,] %>% select(from,to)
# if(nrow(dfInteres)==0) next
dfAnalisis=comparaConObjetivo(dfObjetivo,tablas[[NUMERO]]$result$intervaloBouts$bedNew)
dfAnalisisGGIR=comparaConObjetivo(dfObjetivo,tablas[[NUMERO]]$result$intervaloBouts$bedGGIR)
dfCompleta[i,"metodoNuevo"]=dfAnalisis%>% filter(Error!="OK") %>% summarise(duracion=sum(duracion,na.rm=T))
dfCompleta[i,"metodoGGIR"]=dfAnalisisGGIR%>% filter(Error!="OK") %>% summarise(duracion=sum(duracion,na.rm=T))
}
dfCompleta=dfCompleta %>% filter(metodoGGIR>0)
dfAnalisis=dfCompleta %>% select(starts_with("metodo")) %>% gather(key = "Metodo",value="Error")
Gráfico de comparacion de errores cometidos por el nuevo método frente al método de GGIR. La diagonal refleja donde los errores serían iguales. Los puntos por encima de la diagonal reflejan donde el método nuevo comete menos error que el método de GGIR.
ggplot(dfCompleta,aes(x=metodoNuevo,y=metodoGGIR,label=fileBIN))+
geom_point(size=1,col="red",alpha=0.2)+geom_abline(slope=1,alpha=0.5)+
xlim(c(0,5))+ylim(c(0,5))+theme_classic()
## Warning: Removed 1 rows containing missing values (geom_point).
Densidad de errores cometidos por ambos métodos. Buscamos errores tan cercanos a cero como sea posible.
library(ggridges)
##
## Attaching package: 'ggridges'
## The following object is masked from 'package:ggplot2':
##
## scale_discrete_manual
ggplot(dfAnalisis ,aes(x=Error,y=Metodo,fill=Metodo,color=Metodo))+
geom_density_ridges(alpha=0.5,jittered_points = TRUE)+
coord_cartesian(xlim=c(0,6))+
theme_classic()
## Picking joint bandwidth of 0.372
Tabla descriptiva de los errores cometidos por cada método
source("../../Dropbox/www/github/tablasDeArticulo/R/tablasDeArticulo_v2.R")
## Loading required package: exactci
## Loading required package: ssanv
generaTablaDescriptivaNumericas(dfCompleta,c("metodoNuevo","metodoGGIR"), c("metodoNuevo","metodoGGIR"),
columnas = c("n", "media","dt","min","p25","p50","p75")) %>%
knitr::kable(booktabs=T)
Variable | n | media | dt | p25 | p50 | p75 |
---|---|---|---|---|---|---|
metodoNuevo | 15 | 0.71 | 1.0 | 0 | 0.1 | 1.2 |
metodoGGIR | 15 | 2.35 | 1.3 | 2 | 2.4 | 2.7 |
En cuanto a datos descriptivos de la actvidad de los pacientes, elegid cualquiera de estas:
variables=c(
"bedNew_bedNewtime_mean", "INA_B1_awakeNew_mean", "MVPA_B10_daily_mean")
generaTablaDescriptivaNumericas(dfApp,variables, c("Cama","Inactividad(minutos/dia)","Actividad saludable (minutos/dia)"),
columnas = c("n", "media","dt","min","p25","p50","p75")) %>%
knitr::kable(booktabs=T)
Variable | n | media | dt | p25 | p50 | p75 |
---|---|---|---|---|---|---|
Cama | 6 | 8.4 | 1.3 | 8.4 | 8.7 | 9.0 |
Inactividad(minutos/dia) | 6 | 7.6 | 1.5 | 6.5 | 7.4 | 8.2 |
Actividad saludable (minutos/dia) | 6 | 26.6 | 11.2 | 24.4 | 27.7 | 32.5 |