list all variables in CPS2.R

### Cohort program
### Goal is to automate cohort merging
### I want to feed it a vector of survey variables and be done

library(dplyr)



fun <- function(initialPath,subPath,filename,sex){
  dat <- readRDS(file.path(initialPath,subPath,filename))
  df <- data.frame(subPath=subPath,File=filename,Sex=sex,Variables=names(dat),
                   stringsAsFactors=F)
}

# Mortality cohort first
cps2femoriginal <- fun("s:/cps","cps2/ORIGINAL","cps2femoriginal.rds","WOMEN")
cps2menoriginal <- fun("s:/cps","cps2/ORIGINAL","cps2menoriginal.rds","MEN")
cps2femkeyvar3 <- fun("s:/cps","cps2/DERIVED","cps2femkeyvar3.rds","WOMEN")
cps2menkeyvar3 <- fun("s:/cps","cps2/DERIVED","cps2menkeyvar3.rds","MEN")



# Nutrition Cohort
# Original
women <- paste0(c("survey92women","survey97women","survey99women","survey01women","survey03women",
  "survey05women","survey07women","survey09women","survey11women","survey13women",
  "survey15women"),".rds")
men <- paste0(c("survey92men","survey97men","survey99men","survey01men","survey03men",
  "survey05men","survey07men","survey09men","survey11men","survey13men",
  "survey15men"),".rds")

nutwomensurvey <- lapply(women, function(x){
  fun("s:/cps","nutrition/ORIGINAL", x, "WOMEN")
}) %>% do.call("rbind",.)
nutmensurvey <- lapply(men, function(x){
  fun("s:/cps","nutrition/ORIGINAL", x, "MEN")
}) %>% do.call("rbind",.)
rm(men,women)

# Derived
women <- paste0(c("survey92femkeyvar2","survey97femkeyvar2","survey99femkeyvar",
           "survey01femkeyvar2","survey03femkeyvar", "survey05femkeyvar2",
           "survey07femkeyvar2", "survey09femkeyvar2", "survey11femkeyvar2",
           "survey13femkeyvar"),".rds")
men <- paste0(c("survey92menkeyvar2","survey97menkeyvar2","survey99menkeyvar",
           "survey01menkeyvar2","survey03menkeyvar", "survey05menkeyvar2",
           "survey07menkeyvar2", "survey09menkeyvar2", "survey11menkeyvar2",
           "survey13menkeyvar"),".rds")
womennutderv <- lapply(women,function(x){
  fun("s:/cps","nutrition/DERIVED", x, "WOMEN")
}) %>% do.call("rbind",.)
mennutderv <- lapply(men,function(x){
  fun("s:/cps","nutrition/DERIVED", x, "MEN")
}) %>% do.call("rbind",.)
rm(men,women)


lifelinkmen <-   fun("s:/cps", "biospecimens/lifelink", "men_lifelink_mast15_final.rds","MEN")
lifelinkwomen <- fun("s:/cps", "biospecimens/lifelink", "women_lifelink_mast15_final.rds","WOMEN")

men <- rbind(cps2menoriginal,cps2menkeyvar3,nutmensurvey,mennutderv,lifelinkmen)
women <- rbind(cps2femoriginal,cps2femkeyvar3,nutwomensurvey,womennutderv,lifelinkwomen)


men <- filter(men,!Variables %in% c("ID","SEX"))
women <- filter(women,!Variables %in% c("ID","SEX"))
men <- men[!duplicated(men$Variables),]
women <- women[!duplicated(women$Variables),]


foo <- rbind(variables[[1]],variables[[2]])

foo[foo$Variables=="Sex",]


variables <- list(men=men,women=women)
save(variables,file="data/variables.rdata")
rm(list=ls())
buddha2490/MargotFun documentation built on Nov. 4, 2019, 8:16 a.m.