R/attach_HemalBiochemistry.R

Defines functions attach_HemalBiochemistry

Documented in attach_HemalBiochemistry

#' Title
#'
#' @param data data
#' @param years years
#' @param fast_glucose1 lbxglu (mg/dl)
#' @param fast_glucose2 lbxglusi or lbdglusi (mmol/L)
#' @param fast_insulin1 lbxin (uu/ml)
#' @param fast_insulin2 lbxinsi or lbdinsi (pmol/L)
#' @param fast_triglyceride1 lbxtr (mg/dl)
#' @param fast_triglyceride2 lbdtrsi (mmol/L)
#' @param Alt lbxsatsi(U/L, IU/L)
#' @param Ast lbxsassi(U/L, IU/L)
#' @param Year logical
#'
#' @return
#' @export
attach_HemalBiochemistry <- function(data,years,
                                     fast_glucose1,
                                     fast_glucose2,
                                     fast_insulin1,
                                     fast_insulin2,
                                     fast_triglyceride1,
                                     fast_triglyceride2,
                                     Alt,
                                     Ast,
                                     Year=FALSE){
    years <- data_years(data,years)
    var <- c()
    d <- data.frame()

    var <- var |>
        attach_variable_formula(fast_glucose1,'lbxglu') |>
        attach_variable_formula(fast_glucose2,'lbxglusi,lbdglusi') |>
        attach_variable_formula(fast_insulin1,'lbxin') |>
        attach_variable_formula(fast_insulin2,'lbxinsi,lbdinsi') |>
        attach_variable_formula(fast_triglyceride1,'lbxtr') |>
        attach_variable_formula(fast_triglyceride2,'lbdtrsi') |>
        attach_variable_formula(Alt,'lbxsatsi') |>
        attach_variable_formula(Ast,'lbxsassi')

    if (!is.null(var)){
        (gluam <- nhs_tsv('lab10am|l10am_b|l10am_c|glu|ins|lab13am|l13am_b|l13am_c|trigly|lab18|l40_b|l40_c|biopro',
                          items = 'Laboratory',years=years,cat=FALSE))

        di <- nhs_read(gluam,var,cat=FALSE)
        if (nrow(d)==0){
            d <- di
        }else{
            d <- dplyr::full_join(d,di,'seqn')
        }
    }
    if (!Year) d <- drop_col(d,'Year')
    if (missing(data)) return(d)
    dplyr::left_join(data,d,'seqn')
}
yikeshu0611/nhanesR documentation built on Jan. 29, 2022, 6:08 a.m.