R/create_completers.R

Defines functions create_completers

Documented in create_completers

#' function: Create completers dataset:
#' first version of clean gurland data
#'
#' @param dat DataFrame.
#' @param yvar string. outcome variable of interests
#' @return completer dataset.
#' @examples TBA
#' @author Jongwoo Choi, \email{jc4816@columbia.edu}
#' @references TBA
#' @keywords data analysis
#' @import dplyr
#' @import knitr
#' @export


create_completers <- function(dat, yvar){
  # completers: e.g. followed to the end: [yes, yes, no, yes] or [yes, no, no, yes]
  # Not completers: e.g. not followed to the end: [yes, yes, yes, no]

  completers_id_num = dat$id_num[dat$eval==3]

  dat.split = split(dat.clean.final %>% select('id_num', yvar), f=dat.clean.final$eval)
  dat.split <- lapply(names(dat.split), function(x){
    names(dat.split[[x]])[which(names(dat.split[[x]])==yvar)] <- paste(yvar,'_eval',x,sep='');
    return(dat.split[[x]])})

  wide = merge(merge(merge(dat.split[[1]], dat.split[[2]], all=TRUE),
                         dat.split[[3]], all=TRUE), dat.split[[4]], all=TRUE)

  dat.completer_temp = dat[dat$id_num %in% wide$id_num,]
  dat.completer = dat.completer_temp[dat.completer_temp$id_num %in% completers_id_num,]

  nv.fu.id_num <- wide$id_num[is.na(wide[3])&is.na(wide[4])&is.na(wide[5])] # CN-NA-NA-NA # CN-NA-NA-NA
  dat.any.fu <- dat[!dat$id_num %in% nv.fu.id_num,]
  dat.nv.fu <- dat[dat$id_num %in% nv.fu.id_num,]

  return(list(dat.completer, dat.any.fu, dat.nv.fu))
}
seonjoo/slmisc documentation built on Dec. 9, 2019, 7:47 p.m.