#' work activity
#'
#' @param data data
#' @param years years
#' @param vigorous logical
#' @param moderate logical
#' @param Year logical
#'
#' @return
#' work activity
#' - vigorous:paq605
#' - moderate:paq620
#' - Participants with only vigorous work activity will be regarded as vigorous.
#' Participants with only moderate work activity will be regarded as moderate.
#' Participants with both vigorous and moderate work activities will also be recorded
#' as vigorous.
#' @export
#'
attach_WorkActivity <- function(data,years,
vigorous=FALSE,
moderate=FALSE,
Year=FALSE){
if (!missing(data)) years <- unique(data$Year)
years <- prepare_years(years)
paq <- nhs_tsv('paq\\.|paq_',cat = FALSE)
d <- nhs_read(paq,'paq605:WA_vigorous','paq620:WA_moderate',lower_cd = TRUE,cat = FALSE)
d <- to_NA(d)
d$vigorous <- recode(d$WA_vigorous,
"no::0",
"yes::2") |> as.numeric()
d$moderate <- recode(d$WA_moderate,
"no::0",
"yes::1") |> as.numeric()
d$work_activity <- rowsum(d[,c("vigorous","moderate")])
d <- drop_col(d,'moderate','vigorous')
d$work_activity[d$work_activity>=2] <- 'vigorous'
d$work_activity[d$work_activity=='1'] <- 'moderate'
d$work_activity[d$work_activity=='0'] <- 'no'
if (!vigorous) d <- drop_col(d,'WA_vigorous')
if (!moderate) d <- drop_col(d,'WA_moderate')
if (!Year) d <- drop_col(d,'Year')
if (missing(data)) return(d)
dplyr::left_join(data,d,'seqn')
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.