#' Clean economic activity data
#'
#' Produce variables indicating employment status, full/part-time status, and sick leave.
#'
#' @return Returns a new set of variables
#' @export
aps_clean_economic_activity <- function(
data
) {
# use inecac05 - detailed break down of economic status
if ("inecac05" %in% colnames(data)) {
data[age >= 16 & inecac05 %in% c(1,3), lmstatus := "employed"]
data[age >= 16 & inecac05 %in% c(2), lmstatus := "self employed"]
data[age >= 16 & inecac05 %in% c(20,31), lmstatus := "retired"]
data[age >= 16 & inecac05 %in% c(5), lmstatus := "unemployed"]
data[age >= 16 & inecac05 %in% c(8,9,15,16,26,27), lmstatus := "ill"]
data[age >= 16 & inecac05 %in% c(6,13,24), lmstatus := "education"]
data[age >= 16 & inecac05 %in% c(4,7,10,11,12,14,17,18,19,21,22,23,25,28,29,30,32,33), lmstatus := "inactive"]
# alternative, consistent with variable produced in hseclean for Health Survey for England data.
data[age >= 16 & inecac05 %in% c(1,2,3), activity_lstweek := "employed"]
data[age >= 16 & inecac05 %in% c(6,13,24), activity_lstweek := "education"]
data[age >= 16 & inecac05 %in% c(20,31), activity_lstweek := "retired"]
data[age >= 16 & inecac05 %in% c(4,7,14,25), activity_lstweek := "home_or_family"]
data[age >= 16 & inecac05 %in% c(8,9,15,16,26,27), activity_lstweek := "sick_ill_disab"]
data[age >= 16 & inecac05 %in% c(5,10,11,12,17,18,19,21,22,23,28,29,30,32,33), activity_lstweek := "unemployed"]
data <- subset(data,select = -c(inecac05))
}
# use inecacr - detailed break down of economic status
if ("inecacr" %in% colnames(data)) {
data[age >= 16 & inecacr %in% c(1,3), lmstatus := "employed"]
data[age >= 16 & inecacr %in% c(2), lmstatus := "self employed"]
data[age >= 16 & inecacr %in% c(21,27), lmstatus := "retired"]
data[age >= 16 & inecacr %in% c(5), lmstatus := "unemployed"]
data[age >= 16 & inecacr %in% c(8,12,13,19,20,24,25), lmstatus := "ill"]
data[age >= 16 & inecacr %in% c(6,11,17), lmstatus := "education"]
data[age >= 16 & inecacr %in% c(4,7,9,10,14,15,16,18,22,26,23,28,29), lmstatus := "inactive"]
# alternative, consistent with variable produced in hseclean for Health Survey for England data.
data[age >= 16 & inecacr %in% c(1,2,3), activity_lstweek := "employed"]
data[age >= 16 & inecacr %in% c(6,11,17), activity_lstweek := "education"]
data[age >= 16 & inecacr %in% c(21,27), activity_lstweek := "retired"]
data[age >= 16 & inecacr %in% c(4,7,18), activity_lstweek := "home_or_family"]
data[age >= 16 & inecacr %in% c(8,12,13,19,20,24,25), activity_lstweek := "sick_ill_disab"]
data[age >= 16 & inecacr %in% c(5,9,10,14,15,16,22,26,28,29), activity_lstweek := "unemployed"]
data <- subset(data,select = -c(inecacr))
}
# full-time/part- time status
data[age >= 16 & ftptwk == 1, full_time := "full time"]
data[age >= 16 & ftptwk == 2, full_time := "part time"]
# illness
# Binary variable indicating sick days in the survey reference week
data[lmstatus %in% c("employed","self employed") & illwk == 1, ill_daysoff := "Yes"]
data[lmstatus %in% c("employed","self employed") & illwk == 2, ill_daysoff := "No"]
# Number of sick days in the reference week, if any
data[ill_daysoff == "Yes", ill_numdays := illoff]
# drop surplus variables
data <- subset(data,select = -c(ftptwk,illwk,illoff))
return(data)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.