#' periodontitis
#'
#' @param data data
#' @param years years
#' @param Year logical
#'
#' @return yes for periodontitis
#' @export
#'
attach_periodontitis <- function(data,years,Year=FALSE){
years <- data_years(data,years)
tsv <- nhs_tsv('ohxp',years=years,cat=FALSE)
if (length(paq)==0){
if (do::cnOS()) stop(tmcn::toUTF8("\u8FD9\u4E9B\u5E74\u4EFD\u6CA1\u6709ohxp"))
if (!do::cnOS()) stop('no ohxp files in this year cycle')
}
d <- nhs_read(tsv,cat=FALSE)
(pcla <- colnames(d)[grepl('[0-9]{2}pc|[0-9]{2}la',colnames(d))] |> do::increase())
d=d[,c('Year','seqn',pcla)]
ohd <- set::grep_and(pcla,'ohd')
if (length(ohd)>0){
for (i in ohd) {
ix <- do::Replace(i,'ohd','ohx')
if (ix %in% pcla){
d[is.na(d[,ix]),ix] <- d[is.na(d[,ix]),i]
d <- drop_col(d,i)
}else{
colnames(d)[colnames(d)==i] <- ix
}
}
}
(pcla <- colnames(d)[grepl('[0-9]{2}pc|[0-9]{2}la',colnames(d))] |> do::increase())
t <- stringi::stri_extract(pcla,regex = '[0-9]{2}')
pcla <- paste0('t',t,
'_',
do::Replace0(pcla,'.*[0-9]{2}'))
colnames(d)[-c(1,2)] <- pcla
# 99
d2 <- d[,-c(1,2)]
d2[d2==99] <- NA
d[,-c(1,2)] <- d2
# la
la <- d[,grepl('_la',colnames(d))]
ck <- la>=4
la[ck] <- 1
la[!ck] <- 0
d[,grepl('_la',colnames(d))] <- la
# pc
pc <- d[,grepl('_pc',colnames(d))]
ck <- pc>=5
pc[ck] <- 1
pc[!ck] <- 0
d[,grepl('_pc',colnames(d))] <- pc
t <- unique(t)
for (i in t) {
var <- set::grep_and(colnames(d),paste0('t',i,'_'))
ck <- ifelse(rowsum(d[,var])>=1,1,0)
eval(parse(text=sprintf('d$t%s <- ck',i)))
d <- drop_col(d,var)
}
d$count <- rowsum(d[,paste0('t',t)])
d$periodontitis <- ifelse(d$count>=2,'yes','no')
d <- d[,c("Year","seqn","count","periodontitis")]
attach_return_data(data,d,Year,join='seqn')
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.