## undersøkelse utført
## Datakilde
undDT <- lok2018dt1
## variablene
undVar <- c("und_Oye", "und_laser", "und_Retinopati", "und_fotter", "und_periferneu", "und_infiltrater", "und_hudforandring", "lab_res_persmikro")
## testDT <- subset(undDT, select = undVar)
## ## Sjekk variabelinnholdt
## varList <- list()
## for (i in undVar){
## .l2 <- undDT[, .N, by = .(get(i))]
## varList[[i]] <- .l2
## }
## varList
## Count missing og non-missing
## undVarMiss <- undDT[, lapply(.SD, function(x) sum(is.na(x))), .SDcols = undVar]
undVarNon <- undDT[, lapply(.SD, function(x) sum(!is.na(x))), .SDcols = undVar]
## Non missing long table
undNonLg <- melt(undVarNon,
measure.vars = undVar,
variable.name = "var",
value.name = "n")
## Count som svarte Ja
# library(sqldf)
# sqldf('SELECT COUNT(und_Oye) FROM testDT WHERE und_Oye = "Ja";')
mList <- list()
for (i in undVar){
misInd <- undDT[get(i)=="Ja", .N]
mList[[i]] <- misInd
}
undVarTall <- as.data.table(mList)
undVarLg <- melt(undVarTall,
measure.vars = undVar,
variable.name = "var",
value.name = "ja")
## Merge table
undDD <- merge(undVarLg, undNonLg, by = "var")
## urin-albumin og mikroalbuminuri
## undDT[, .N, by=.(lab_res_persmikro)]
## urin-albumin er tall derfor er det å være missing eller ikke
urinNon <- undDT[!is.na(lab_res_1prove), .N]
urinDD <- undDT[, .(var = "lab_res_1prove", ja = urinNon, n = nrow(undDT))]
## bind all table
undAll <- rbindlist(list(undDD, urinDD), use.names = TRUE)
## Prosent
undAll[, pros := round(ja / n * 100, digits = 1)]
## Pyntting til tabellen
undAll[, id := .I]
nyNavn <- c("Øyeundersøkelse", "Laserbehandling", "Påvist retinopati",
"Føtter", "Påvist klinisk perifer neuropati", "Påvist infiltrater",
"Påvist hudforandringer", "Påvist Persisterende mikroalbuminuri",
"Registrert verdi urin-albumin")
undAll[.(id = 1:9, to = nyNavn), on = "id", navn := i.to]
## Beholder 1 decimal selv om 0
undAll[, pro := as.character(sprintf("%0.1f", pros))]
## Hvis 0 så blir bare strek
undAll[pros == 0, pro := "- "]
## Bort ubrukte kollone
undAll[, c("var", "pros", "id") := NULL]
## Reorder
setcolorder(undAll, c("navn", "ja", "pro", "n"))
setnames(undAll, names(undAll),
c(" ", "Antall", "Andel", "N"))
## Tabell hux
lastLine <- dim(undAll)[1] + 1
und.htab <- as_hux(undAll, add_colnames = TRUE)
und.htab <- und.htab %>%
## set_bottom_border(1,, TRUE) %>%
set_bold(1,, TRUE) %>%
set_bottom_border(lastLine,, TRUE) %>%
map_background_color(by_rows("grey95", "white")) %>%
set_position("left") %>%
set_align(, 3, "right") %>%
set_latex_float("h!")
col_width(und.htab) <- c(.5, .15, .15, .2)
width(und.htab) <- 0.9
wrap(und.htab) <- TRUE
und.htab <- rbind(c("", "Undersøkelser utført", "", ""), und.htab)
und.htab <- merge_cells(und.htab, 1, 2:3)
align(und.htab)[1, 2] <- "center"
bottom_border(und.htab)[1, 2] <- 0.5
bottom_border(und.htab)[2, ] <- TRUE
## und.htab <- add_footnote(und.htab, "N er antall registrert med informasjon")