#' Pregnant Now?
#'
#' @param data data
#' @param years years
#' @details This function judges whether someone is pregnant from three angles
#' - Use the ridexprg variable in the demographic data
#' - Use the seq060 variable in the seq data
#' - Use rhq140, rhq141, rhq142 variables in rhq data
#' to determine that confirmation is yes, other is no, and missing is missing.
#' Any method of judging as pregnancy means pregnancy,
#' Any method of judging that you are not pregnant is not pregnant.
#'
#' @return pregnant
#' @export
#'
attach_Pregnant <- function(data,years){
if (!missing(data)){
years <- unique(data$Year)
seqn <- unique(data$seqn)
}
years <- prepare_years(years)
demo <- nhs_tsv('demo',items = 'demo',years = years,cat=FALSE)
seq <- nhs_tsv('seq',items = 'exam',years = years,cat=FALSE)
rhq <- nhs_tsv('rhq',items = 'q',years = years,cat=FALSE)
nr <- nhs_read(demo,'ridexprg:prg',
seq,'seq060',
rhq,'rhq140','rhq141','rhd143',
lower_cd = TRUE,cat = FALSE)
if (!missing(data)) nr <- nr[nr$seqn %in% seqn,]
nr$prg <- recode(nr$prg,
"sp not pregnant at exam::no",
"yes, positive lab pregnancy test or self-reported pregnant at exam::yes",
"cannot ascertain if sp is pregnant at exam::no",
"the participant was not pregnant at exam::no",
"cannot ascertain if the participant is pregnant at exam::no")
nr$seq060 <- recode(nr$seq060,
"no::no",
"yes::yes",
"don't know::na")
nr$rhq140 <- recode(nr$rhq140,
"no::no",
"yes::yes",
"don't know::na")
nr$rhq141 <- recode(nr$rhq141,
"no::no",
"yes::yes",
"don't know::na")
nr$rhd143 <- recode(nr$rhd143,
"yes::no",
"no::yes",
"don't know::no")
ck <- rowSums(nr[,-c(1:2)] == 'yes',na.rm = TRUE) >0
nr$pregnant[ck] <- 'yes'
ck <- rowSums(nr[,-c(1:2)] == 'no',na.rm = TRUE) >0
nr$pregnant[ck] <- 'no'
data0 <- nr[,c('seqn','Year','pregnant')]
if (missing(data)){
data <- data0
}else{
data0 <- data0[,!colnames(data0) %in% 'Year']
data <- as.data.frame(dplyr::left_join(data,data0,'seqn'))
}
return(data)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.