R/attach_tot.R

Defines functions attach_tot

Documented in attach_tot

#' attach tot data
#'
#' @param data data
#' @param years years
#' @param day day =1 or day = 2 or day = c(1,2)(default)
#' @param fun sum or mean or alone, works when day=c(1,2)
#' @param wtdrd1 logical or variable name
#' @param wtdr4yr logical or variable name
#' @param wtdr2d logical or variable name
#' @param rstz logical or variable name
#' @param interviewer_id logical or variable name
#' @param breast_fed_infant logical or variable name
#' @param day_of_week logical or variable name
#' @param foods_number logical or variable name
#' @param diet_on_special logical or variable name
#' @param diet_wllh logical or variable name
#' @param diet_lowfat logical or variable name
#' @param diet_lowsalt logical or variable name
#' @param diet_lowsugar logical or variable name
#' @param diet_lowfiber logical or variable name
#' @param diet_highfiber logical or variable name
#' @param diet_diabetic logical or variable name
#' @param diet_weightgain logical or variable name
#' @param diet_lowcarbohydrate logical or variable name
#' @param diet_highprotein logical or variable name
#' @param diet_glutenfree logical or variable name
#' @param diet_kidney logical or variable name
#' @param diet_otherspecial logical or variable name
#' @param energy logical or variable name
#' @param protein logical or variable name
#' @param carbohydrate logical or variable name
#' @param total_sugars logical or variable name
#' @param dietary_fiber logical or variable name
#' @param total_fat logical or variable name
#' @param total_sfat logical or variable name
#' @param total_mfat logical or variable name
#' @param total_pfat logical or variable name
#' @param cholesterol logical or variable name
#' @param Vitamin_A logical or variable name
#' @param retinol logical or variable name
#' @param alpha_carotene logical or variable name
#' @param beta_carotene logical or variable name
#' @param beta_cryptoxanthin logical or variable name
#' @param lycopene logical or variable name
#' @param lutein_zeaxanthin logical or variable name
#' @param Vitamin_B1 logical or variable name
#' @param Vitamin_B2 logical or variable name
#' @param niacin logical or variable name
#' @param Vitamin_B6 logical or variable name
#' @param total_folate logical or variable name
#' @param folic_acid logical or variable name
#' @param food_folate logical or variable name
#' @param folate_dfe logical or variable name
#' @param total_choline logical or variable name
#' @param Vitamin_B12 logical or variable name
#' @param Vitamin_B12_added logical or variable name
#' @param Vitamin_C logical or variable name
#' @param Vitamin_D logical or variable name
#' @param vitamin_E_ATE logical or variable name
#' @param vitamin_E_addedATE logical or variable name
#' @param vitamin_K logical or variable name
#' @param calcium logical or variable name
#' @param phosphorus logical or variable name
#' @param magnesium logical or variable name
#' @param iron logical or variable name
#' @param zinc logical or variable name
#' @param copper logical or variable name
#' @param sodium logical or variable name
#' @param potassium logical or variable name
#' @param selenium logical or variable name
#' @param caffeine logical or variable name
#' @param theobromine logical or variable name
#' @param alcohol logical or variable name
#' @param moisture logical or variable name
#' @param sfa_4.0 logical or variable name
#' @param sfa_6.0 logical or variable name
#' @param sfa_8.0 logical or variable name
#' @param sfa_10.0 logical or variable name
#' @param sfa_12.0 logical or variable name
#' @param sfa_14.0 logical or variable name
#' @param sfa_16.0 logical or variable name
#' @param sfa_18.0 logical or variable name
#' @param mfa_16.1 logical or variable name
#' @param mfa_18.1 logical or variable name
#' @param mfa_20.1 logical or variable name
#' @param mfa_22.1 logical or variable name
#' @param pfa_18.2 logical or variable name
#' @param pfa_18.3 logical or variable name
#' @param pfa_18.4 logical or variable name
#' @param pfa_20.4 logical or variable name
#' @param pfa_20.5 logical or variable name
#' @param pfa_22.5 logical or variable name
#' @param pfa_22.6 logical or variable name
#' @param compare_to_usual logical or variable name
#' @param water_total_plain logical or variable name
#' @param water_total_tap logical or variable name
#' @param water_total_bottled logical or variable name
#' @param water_plain_carbonated logical or variable name
#' @param water_tap_source logical or variable name
#' @param salt_type logical or variable name
#' @param salt_added_frequency logical or variable name
#' @param salt_used_in_preparation logical or variable name
#' @param shellfish logical or variable name
#' @param clams logical or variable name
#' @param clams_times logical or variable name
#' @param crabs logical or variable name
#' @param crabs_times logical or variable name
#' @param crayfish logical or variable name
#' @param crayfish_times logical or variable name
#' @param lobsters logical or variable name
#' @param lobsters_times logical or variable name
#' @param mussels logical or variable name
#' @param mussels_times logical or variable name
#' @param oysters logical or variable name
#' @param oysters_times logical or variable name
#' @param scallops logical or variable name
#' @param scallops_times logical or variable name
#' @param shrimp logical or variable name
#' @param shrimp_times logical or variable name
#' @param other_shellfish logical or variable name
#' @param other_shellfish_times logical or variable name
#' @param unknown_shellfish logical or variable name
#' @param unknown_shellfish_times logical or variable name
#' @param refused_shellfish logical or variable name
#' @param fish logical or variable name
#' @param breaded_fish logical or variable name
#' @param breaded_fish_times logical or variable name
#' @param tuna logical or variable name
#' @param tuna_times logical or variable name
#' @param bass logical or variable name
#' @param bass_times logical or variable name
#' @param catfish logical or variable name
#' @param catfish_times logical or variable name
#' @param cod logical or variable name
#' @param cod_times logical or variable name
#' @param flatfish logical or variable name
#' @param flatfish_times logical or variable name
#' @param haddock logical or variable name
#' @param haddock_times logical or variable name
#' @param mackerel logical or variable name
#' @param mackerel_times logical or variable name
#' @param perch logical or variable name
#' @param perch_times logical or variable name
#' @param pike logical or variable name
#' @param pike_times logical or variable name
#' @param pollock logical or variable name
#' @param pollock_times logical or variable name
#' @param porgy logical or variable name
#' @param porgy_times logical or variable name
#' @param salmon logical or variable name
#' @param salmon_times logical or variable name
#' @param sardines logical or variable name
#' @param sardines_times logical or variable name
#' @param sea_bass logical or variable name
#' @param sea_bass_times logical or variable name
#' @param shark logical or variable name
#' @param shark_times logical or variable name
#' @param swordfish logical or variable name
#' @param swordfish_times logical or variable name
#' @param trout logical or variable name
#' @param trout_times logical or variable name
#' @param walleye logical or variable name
#' @param walleye_times logical or variable name
#' @param other_fish logical or variable name
#' @param other_fish_times logical or variable name
#' @param unknown_fish logical or variable name
#' @param unknown_fish_times logical or variable name
#' @param refused_fish logical or variable name
#' @param Year logical
#' @param both2days logical
#'
#' @return tot
#' @export
#'
attach_tot <- function(data,years,
                       day=c('1','2'),
                       fun=c('sum','mean','alone'),

                       wtdrd1,
                       wtdr4yr,
                       wtdr2d,
                       rstz,
                       interviewer_id,
                       breast_fed_infant,
                       day_of_week,
                       foods_number,

                       diet_on_special,
                       diet_wllh,
                       diet_lowfat,
                       diet_lowsalt,
                       diet_lowsugar,
                       diet_lowfiber,
                       diet_highfiber,
                       diet_diabetic,
                       diet_weightgain,
                       diet_lowcarbohydrate,
                       diet_highprotein,
                       diet_glutenfree,
                       diet_kidney,
                       diet_otherspecial,

                       energy,
                       protein,
                       carbohydrate,
                       total_sugars,
                       dietary_fiber,
                       total_fat,
                       total_sfat,
                       total_mfat,
                       total_pfat,
                       cholesterol,


                       Vitamin_A, # re
                       retinol,
                       alpha_carotene,
                       beta_carotene,
                       beta_cryptoxanthin,
                       lycopene,
                       lutein_zeaxanthin,
                       Vitamin_B1,
                       Vitamin_B2,
                       niacin,
                       Vitamin_B6,
                       total_folate,
                       folic_acid,
                       food_folate,
                       folate_dfe,
                       total_choline,
                       Vitamin_B12,
                       Vitamin_B12_added,
                       Vitamin_C,
                       Vitamin_D,
                       vitamin_E_ATE,
                       vitamin_E_addedATE,
                       vitamin_K,

                       calcium,
                       phosphorus,
                       magnesium,
                       iron,
                       zinc,
                       copper,
                       sodium,
                       potassium,
                       selenium,

                       caffeine,
                       theobromine,
                       alcohol,
                       moisture,
                       sfa_4.0,
                       sfa_6.0,
                       sfa_8.0,
                       sfa_10.0,
                       sfa_12.0,
                       sfa_14.0,
                       sfa_16.0,
                       sfa_18.0,
                       mfa_16.1,
                       mfa_18.1,
                       mfa_20.1,
                       mfa_22.1,
                       pfa_18.2,
                       pfa_18.3,
                       pfa_18.4,
                       pfa_20.4,
                       pfa_20.5,
                       pfa_22.5,
                       pfa_22.6,

                       compare_to_usual,
                       water_total_plain,
                       water_total_tap,
                       water_total_bottled,
                       water_plain_carbonated,
                       water_tap_source,

                       salt_type,
                       salt_added_frequency,
                       salt_used_in_preparation,

                       shellfish,
                       clams,
                       clams_times,
                       crabs,
                       crabs_times,
                       crayfish,
                       crayfish_times,
                       lobsters,
                       lobsters_times,
                       mussels,
                       mussels_times,
                       oysters,
                       oysters_times,
                       scallops,
                       scallops_times,
                       shrimp,
                       shrimp_times,
                       other_shellfish,
                       other_shellfish_times,
                       unknown_shellfish,
                       unknown_shellfish_times,
                       refused_shellfish,
                       fish,
                       breaded_fish,
                       breaded_fish_times,
                       tuna,
                       tuna_times,
                       bass,
                       bass_times,
                       catfish,
                       catfish_times,
                       cod,
                       cod_times,
                       flatfish,
                       flatfish_times,
                       haddock,
                       haddock_times,
                       mackerel,
                       mackerel_times,
                       perch,
                       perch_times,
                       pike,
                       pike_times,
                       pollock,
                       pollock_times,
                       porgy,
                       porgy_times,
                       salmon,
                       salmon_times,
                       sardines,
                       sardines_times,
                       sea_bass,
                       sea_bass_times,
                       shark,
                       shark_times,
                       swordfish,
                       swordfish_times,

                       trout,
                       trout_times,
                       walleye,
                       walleye_times,
                       other_fish,
                       other_fish_times,
                       unknown_fish,
                       unknown_fish_times,
                       refused_fish,


                       Year=FALSE,
                       both2days=TRUE){

    if (!missing(data)) years <- unique(data$Year)
    years <- prepare_years(years)

    day <- as.numeric(day)
    fun <- match.arg(fun)

    var <- c()
    var <- var |>
        attach_variable_formula(wtdrd1,'wtdrd1') |>
        attach_variable_formula(wtdr4yr,'wtdr4yr') |>
        attach_variable_formula(wtdr2d,'wtdr2d') |>
        attach_variable_formula(rstz,'drddrsts') |>
        attach_variable_formula(interviewer_id,'drdexmer,dr1exmer,dr2exmer') |>
        attach_variable_formula(day_of_week,'drdday,dr1day,dr2day') |>
        attach_variable_formula(foods_number,'drxtnumf,dr1tnumf,dr2tnumf') |>
        attach_variable_formula(breast_fed_infant,'drabf') |>
        attach_variable_formula(diet_on_special,'drqsdiet') |>
        attach_variable_formula(diet_wllh,'drqsdt1') |>
        attach_variable_formula(diet_lowfat,'drqsdt2') |>
        attach_variable_formula(diet_lowsalt,'drqsdt3') |>
        attach_variable_formula(diet_lowsugar,'drqsdt4') |>
        attach_variable_formula(diet_lowfiber,'drqsdt5') |>
        attach_variable_formula(diet_highfiber,'drqsdt6') |>
        attach_variable_formula(diet_diabetic,'drqsdt7') |>
        attach_variable_formula(diet_weightgain,'drqsdt8') |>
        attach_variable_formula(diet_lowcarbohydrate,'drqsdt9') |>
        attach_variable_formula(diet_highprotein,'drqsdt10') |>
        attach_variable_formula(diet_glutenfree,'drqsdt11') |>
        attach_variable_formula(diet_kidney,'drqsdt12') |>
        attach_variable_formula(diet_otherspecial,'drqsdt91') |>


        attach_variable_formula(energy,'drxtkcal,dr1tkcal,dr2tkcal') |>
        attach_variable_formula(protein,'drxtprot,dr1tprot,dr2tprot') |>
        attach_variable_formula(carbohydrate,'drxtcarb,dr1tcarb,dr2tcarb') |>
        attach_variable_formula(total_sugars,'drxtsugr,dr1tsugr,dr2tsugr') |>
        attach_variable_formula(dietary_fiber,'drxtfibe,dr1tfibe,dr2tfibe') |>
        attach_variable_formula(total_fat,'drxttfat,dr1ttfat,dr2ttfat') |>
        attach_variable_formula(total_sfat,'drxtsfat,dr1tsfat,dr2tsfat') |>
        attach_variable_formula(total_mfat,'drxtmfat,dr1tmfat,dr2tmfat') |>
        attach_variable_formula(total_pfat,'drxtpfat,dr1tpfat,dr2tpfat') |>
        attach_variable_formula(cholesterol,'drxtchol,dr1tchol,dr2tchol') |>
        attach_variable_formula(Vitamin_A,'drxtvare,drxtvara,dr1tvara,dr2tvara') |>
        attach_variable_formula(retinol,'drxtret,dr1tret,dr2tret') |>
        attach_variable_formula(alpha_carotene,'drxtacar,dr1tacar,dr2tacar') |>
        attach_variable_formula(beta_carotene,'drxtbcar,dr1tbcar,dr2tbcar') |>
        attach_variable_formula(beta_cryptoxanthin,'drxtcryp,dr1tcryp,dr2tcryp') |>
        attach_variable_formula(lycopene,'drxtlyco,dr1tlyco,dr2tlyco') |>
        attach_variable_formula(lutein_zeaxanthin,'drxtlz,dr1tlz,dr2tlz') |>
        attach_variable_formula(Vitamin_B1,'drxtvb1,dr1tvb1,dr2tvb1') |>
        attach_variable_formula(Vitamin_B2,'drxtvb2,dr1tvb2,dr2tvb2') |>
        attach_variable_formula(niacin,'drxtniac,dr1tniac,dr2tniac') |>
        attach_variable_formula(Vitamin_B6,'drxtvb6,dr1tvb6,dr2tvb6') |>
        attach_variable_formula(total_folate,'drxtfola,dr1tfola,dr2tfola') |>
        attach_variable_formula(folic_acid,'drxtfa,dr1tfa,dr2tfa') |>
        attach_variable_formula(food_folate,'drxtff,dr1tff,dr2tff') |>
        attach_variable_formula(folate_dfe,'drxtfdfe,dr1tfdfe,dr2tfdfe') |>
        attach_variable_formula(total_choline,'dr1tchl,dr2tchl') |>
        attach_variable_formula(Vitamin_B12,'drxtvb12,dr1tvb12,dr2tvb12') |>
        attach_variable_formula(Vitamin_B12_added,'dr1tb12a,dr2tb12a') |>
        attach_variable_formula(Vitamin_C,'drxtvc,dr1tvc,dr2tvc') |>
        attach_variable_formula(Vitamin_D,'dr1tvd,dr2tvd') |>
        attach_variable_formula(vitamin_E_ATE,'drxtatoc,dr1tatoc,dr2tatoc') |>
        attach_variable_formula(vitamin_E_addedATE,'dr1tatoa,dr2tatoa') |>
        attach_variable_formula(vitamin_K,'drxtvk,dr1tvk,dr2tvk') |>
        attach_variable_formula(calcium,'drxtcalc,dr1tcalc,dr2tcalc') |>
        attach_variable_formula(phosphorus,'drxtphos,dr1tphos,dr2tphos') |>
        attach_variable_formula(magnesium,'drxtmagn,dr1tmagn,dr2tmagn') |>
        attach_variable_formula(iron,'drxtiron,dr1tiron,dr2tiron') |>
        attach_variable_formula(zinc,'drxtzinc,dr1tzinc,dr2tzinc') |>
        attach_variable_formula(copper,'drxtcopp,dr1tcopp,dr2tcopp') |>
        attach_variable_formula(sodium,'drdtsodi,dr1tsodi,dr2tsodi') |>
        attach_variable_formula(potassium,'drxtpota,dr1tpota,dr2tpota') |>
        attach_variable_formula(selenium,'drxtsele,dr1tsele,dr2tsele') |>
        attach_variable_formula(caffeine,'drxtcaff,dr1tcaff,dr2tcaff') |>
        attach_variable_formula(theobromine,'drxttheo,dr1ttheo,dr2ttheo') |>
        attach_variable_formula(alcohol,'dr1ialco,dr1talco,dr2ialco,dr2talco,drxialco,drxtalco') |>
        attach_variable_formula(moisture,'drxtwate,drxtmois,dr1tmois,dr2tmois') |>
        attach_variable_formula(sfa_4.0,'drxts040,dr1ts040,dr2ts040') |>
        attach_variable_formula(sfa_6.0,'drxts060,dr1ts060,dr2ts060') |>
        attach_variable_formula(sfa_8.0,'drxts080,dr1ts080,dr2ts080') |>
        attach_variable_formula(sfa_10.0,'drxts100,dr1ts100,dr2ts100') |>
        attach_variable_formula(sfa_12.0,'drxts120,dr1ts120,dr2ts120') |>
        attach_variable_formula(sfa_14.0,'drxts140,dr1ts140,dr2ts140') |>
        attach_variable_formula(sfa_16.0,'drxts160,dr1ts160,dr2ts160') |>
        attach_variable_formula(sfa_18.0,'drxts180,dr1ts180,dr2ts180') |>
        attach_variable_formula(mfa_16.1,'drxtm161,dr1tm161,dr2tm161') |>
        attach_variable_formula(mfa_18.1,'drxtm181,dr1tm181,dr2tm181') |>
        attach_variable_formula(mfa_20.1,'drxtm201,dr1tm201,dr2tm201') |>
        attach_variable_formula(mfa_22.1,'drxtm221,dr1tm221,dr2tm221') |>
        attach_variable_formula(pfa_18.2,'drxtp182,dr1tp182,dr2tp182') |>
        attach_variable_formula(pfa_18.3,'drxtp183,dr1tp183,dr2tp183') |>
        attach_variable_formula(pfa_18.4,'drxtp184,dr1tp184,dr2tp184') |>
        attach_variable_formula(pfa_20.4,'drxtp204,dr1tp204,dr2tp204') |>
        attach_variable_formula(pfa_20.5,'drxtp205,dr1tp205,dr2tp205') |>
        attach_variable_formula(pfa_22.5,'drxtp225,dr1tp225,dr2tp225') |>
        attach_variable_formula(pfa_22.6,'drxtp226,dr1tp226,dr2tp226') |>
        attach_variable_formula(compare_to_usual,'drq300,drd300,dr1_300,dr2_300') |>
        attach_variable_formula(water_total_plain,'drd320gw,dr1_320,dr1_320z,dr2_320,dr2_320z') |>
        attach_variable_formula(water_total_tap,'drd330gw,dr1_330,dr1_330z,dr2_330,dr2_330z') |>
        attach_variable_formula(water_total_bottled,'dr1bwatr,dr1bwatz,dr2bwatr,dr2bwatz') |>
        attach_variable_formula(water_plain_carbonated,'drdcwatr,dr1cwatr,dr2cwatr') |>
        attach_variable_formula(water_tap_source,'dr1tws,dr1twsz,dr2tws,dr2twsz') |>

        attach_variable_formula(salt_type,'dbq095,dbq095z,dr2sky') |>
        attach_variable_formula(salt_added_frequency,'dbd100') |>
        attach_variable_formula(salt_used_in_preparation,'drqsprep') |>

        attach_variable_formula(shellfish,'drq340,drd340') |>
        attach_variable_formula(clams,'drd350a') |>
        attach_variable_formula(clams_times,'drq350aq,drd350aq') |>
        attach_variable_formula(crabs,'drd350b') |>
        attach_variable_formula(crabs,'drq350bq,drd350bq') |>
        attach_variable_formula(crayfish,'drd350c') |>
        attach_variable_formula(crayfish_times,'drq350cq,drd350cq') |>
        attach_variable_formula(lobsters,'drd350d') |>
        attach_variable_formula(lobsters_times,'drq350dq,drd350dq') |>
        attach_variable_formula(mussels,'drd350e') |>
        attach_variable_formula(mussels_times,'drd350eq,drq350eq') |>
        attach_variable_formula(oysters,'drd350f') |>
        attach_variable_formula(oysters_times,'drq350fq,drd350fq') |>
        attach_variable_formula(scallops,'drd350g') |>
        attach_variable_formula(scallops_times,'drq350gq,drd350gq') |>
        attach_variable_formula(shrimp,'drd350h') |>
        attach_variable_formula(shrimp_times,'drq350hq,drd350hq') |>
        attach_variable_formula(other_shellfish,'drd350i') |>
        attach_variable_formula(other_shellfish_times,'drq350iq,drd350iq') |>
        attach_variable_formula(unknown_shellfish,'drd350j') |>
        attach_variable_formula(unknown_shellfish_times,'drq350jq,drd350jq') |>
        attach_variable_formula(refused_shellfish,'drd350k') |>
        attach_variable_formula(fish,'drq360,drd360') |>
        attach_variable_formula(breaded_fish,'drd370a') |>
        attach_variable_formula(breaded_fish_times,'drq370aq,drd370aq') |>
        attach_variable_formula(tuna,'drd370b') |>
        attach_variable_formula(tuna_times,'drq370bq,drd370bq') |>
        attach_variable_formula(bass,'drd370c') |>
        attach_variable_formula(bass_times,'drq370cq,drd370cq') |>
        attach_variable_formula(catfish,'drd370d') |>
        attach_variable_formula(catfish_times,'drq370dq,drd370dq') |>
        attach_variable_formula(cod,'drd370e') |>
        attach_variable_formula(cod_times,'drq370eq,drd370eq') |>
        attach_variable_formula(flatfish,'drd370f') |>
        attach_variable_formula(flatfish_times,'drq370fq,drd370fq') |>
        attach_variable_formula(haddock,'drd370g') |>
        attach_variable_formula(haddock_times,'drq370gq,drd370gq') |>
        attach_variable_formula(mackerel,'') |>
        attach_variable_formula(mackerel_times,'') |>
        attach_variable_formula(perch,'drd370i') |>
        attach_variable_formula(perch_times,'drq370iq,drd370iq') |>
        attach_variable_formula(pike,'drd370j') |>
        attach_variable_formula(pike_times,'drq370jq,drd370jq') |>
        attach_variable_formula(pollock,'drd370k') |>
        attach_variable_formula(pollock_times,'drq370kq,drd370kq') |>
        attach_variable_formula(porgy,'drd370l') |>
        attach_variable_formula(porgy_times,'drq370lq,drd370lq') |>
        attach_variable_formula(salmon,'drd370m') |>
        attach_variable_formula(salmon_times,'drq370mq,drd370mq') |>
        attach_variable_formula(sardines,'drd370n') |>
        attach_variable_formula(sardines_times,'drq370nq,drd370nq') |>
        attach_variable_formula(sea_bass,'drd370o') |>
        attach_variable_formula(sea_bass_times,'drq370oq,drd370oq') |>
        attach_variable_formula(shark,'drd370p') |>
        attach_variable_formula(shark_times,'drq370pq,drd370pq') |>
        attach_variable_formula(swordfish,'drd370q') |>
        attach_variable_formula(swordfish_times,'drq370qq,drd370qq') |>
        attach_variable_formula(trout,'drd370r') |>
        attach_variable_formula(trout_times,'drq370rq,drd370rq') |>
        attach_variable_formula(walleye,'drd370s') |>
        attach_variable_formula(walleye_times,'drq370sq,drd370sq') |>
        attach_variable_formula(other_fish,'drd370t') |>
        attach_variable_formula(other_fish_times,'drq370tq,drd370tq') |>
        attach_variable_formula(unknown_fish,'drd370u') |>
        attach_variable_formula(unknown_fish_times,'drq370uq,drd370uq') |>
        attach_variable_formula(refused_fish,'drd370v')


    if (length(day)==1){
        tot <- c(sprintf('dr%stot',day),'drxtot')
        tsv <- nhs_tsv(paste0(tot,collapse = '|'),years=years,cat = FALSE)
        d <- nhs_read(tsv,var,cat = FALSE,Year = Year)
        # line <- c(sprintf('dr%siline',day),'drxiline')
        # if (all(line %in% colnames(d))){
        #     ck <- d$Year %in% prepare_years(1999:2001)
        #     d[ck,line[1]] <- d[ck,line[2]]
        #     d <- drop_col(d,line[2])
        # }
        # d <- rename_line(d)
        # fdcd <- c(sprintf('dr%sifdcd',day),'drdifdcd')
        # if (all(fdcd %in% colnames(d))){
        #     ck <- d$Year %in% prepare_years(1999:2001)
        #     d[ck,fdcd[1]] <- d[ck,fdcd[2]]
        #     d <- drop_col(d,fdcd[2])
        # }
        # d <- rename_fdcd(d)

        head(d)
    }else{
        var2 <- var
        var <- var2
        tsv1 <- nhs_tsv('dr1tot|drxtot',years=years,cat = FALSE)
        d1 <- nhs_read(tsv1,var,cat = FALSE)

        tsv2 <- nhs_tsv('dr2tot|drxtot',years=years,cat = FALSE)
        d2 <- nhs_read(tsv2,var,cat = FALSE,Year = FALSE)

        if (is.character(d2)){
            d <- d1
        }else{
            d2 <- drop_col(d2,'wtdrd1','wtdr2d','drddrsts','drabf')
            d <- dplyr::full_join(d1,d2,'seqn',suffix=c('.d1','.d2') )
        }

        if (fun %in% c('mean','sum')){
            for (i in colnames(d1)) {
                if (i %in% 'interviewer_id') next(i)
                which <- which(colnames(d) %in% paste0(i,c('.d1','.d2')))
                if (length(which)==2){
                    ck <- d$Year %in% c('1999-2000','2001-2002')
                    if (both2days){
                        ck2 <- rowSums(!is.na(d[,which])) == 2
                        ck2[ck] <- TRUE
                        d <- d[ck2,]
                    }
                    ck <- d$Year %in% c('1999-2000','2001-2002')
                    mti <- d[!ck,which]
                    if (all(sapply(mtcars, is.numeric))){
                        if (fun=='sum'){
                            d[!ck,which[1]] <- rowSums(mti,na.rm = TRUE)
                        }else{
                            d[!ck,which[1]] <- rowMeans(mti,na.rm = TRUE)
                        }
                        colnames(d)[which[1]] <- i
                        d <- d[,-which[2]]
                    }
                }
            }
        }else{
            ck <- d$Year %in% c('1999-2000','2001-2002')
            which <- do::right(colnames(d),3) == '.d2'
            d[ck,which] <- NA
        }
    }
    if (!Year) d <- drop_col(d,'Year')
    if (!missing(data)) d <- dplyr::left_join(data,d,'seqn')
    return(d)
}
yikeshu0611/nhanesR documentation built on Jan. 29, 2022, 6:08 a.m.