Libraries

library(tidyverse)
library(survey) 
library(forcats)
library(jtools)
library(dplyr)
library(mice)
library(mitools)
library(svydiags)
library(kableExtra)

Survey design

load("nhanes_fattyAcids_clean_data.RData")

# specify survey design
nhanesDesign <- svydesign(id = ~SDMVPSU,  # Primary Sampling Units (PSU)
                 strata  = ~SDMVSTRA, # Stratification used in the survey
                 weights = ~WTDN4YR,   # Survey weights (using those from DNAm dataset, may need to update)
                 nest    = TRUE,      # Whether PSUs are nested within strata
                 data    = df)       # specify dataset
dim(nhanesDesign)
# 2532  288

# subset survey design
# participants with fatty acid and epigenetic age data
nhanesDesign_use <- subset(nhanesDesign, use_fat)
dim(nhanesDesign_use)
# 2220  288

# participants with complete covariate data
nhanesDesign_use_covar <- subset(nhanesDesign, use_fat_covar)
dim(nhanesDesign_use_covar)
# 1771  288

# male participants
filterMale = ifelse(df$RIAGENDR == 1, TRUE, FALSE)
nhanesDesign_male <- subset(nhanesDesign, filterMale & use_fat_covar)
dim(nhanesDesign_male)
# 952 288

# female participants
filterFemale = ifelse(df$RIAGENDR == 2, TRUE, FALSE)
nhanesDesign_female <- subset(nhanesDesign, filterFemale & use_fat_covar)
dim(nhanesDesign_female)
# 819 288

Primary models

Linear associations adjusted for age, age^2, gender, race/ethnicity, BMI, education, occupation, PIR, alcohol, smoking, and physical activity

# dataframe to store results
fat_res_alcSmkAct = data.frame(nutrient = rep(c('Total fat', 'Saturated fat', 'Monounsaturated fat', 'Polyunsaturated fat', 'P:S ratio', 'Omega-3', 'Omega-6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 7),
  coef = NA, p = NA, CI_L = NA, CI_H = NA, n = NA)

# NHANES variable names
vars_fat = c('DRXTTFAT_log2', 'DRXTSFAT_log2', 'DRXTMFAT_log2', 'DRXTPFAT_log2', 'psatfatRatio', 'omega3_log2', 'omega6_log2')
vars_ead = c('HorvathAge', 'SkinBloodAge', 'HannumAge', 'LinAge', 'ZhangAge', 'VidalBraloAge', 'PhenoAge', 'GrimAge2Mort', 'HorvathTelo', 'YangCell_scale', 'DunedinPoAm_scale')

# functions to fill in table
popTable1 = function(tab, i, j, k){
    # i = EAD variable
    # j = fat variable
    # k = table row
    mod = svyglm(formula(paste0(vars_ead[i], " ~ ", vars_fat[j], " +
        RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
        BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
        factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
        design = nhanesDesign_use, 
        family = gaussian())
    tab[k,3] = summary(mod)$coef[2,1]
    tab[k,4] = summary(mod)$coef[2,4]
    tab[k,5] = confint(mod)[2,1]
    tab[k,6] = confint(mod)[2,2]
    tab[k,7] = nrow(mod$model)
    return(tab)
}

popTable2 = function(tab, vars_fat, vars_ead){
    k = 1
    for (j in 1:length(vars_fat)){
        for (i in 1:length(vars_ead)){
            tab = popTable1(tab, i, j, k)
            k = k + 1
        }
    }
    return(tab)
}

fat_res_alcSmkAct = popTable2(fat_res_alcSmkAct, vars_fat, vars_ead)

fat_res_alcSmkAct$B_CI = paste0(round(fat_res_alcSmkAct$coef, 2), ' (', round(fat_res_alcSmkAct$CI_L, 2), ', ', round(fat_res_alcSmkAct$CI_H, 2), ')')

write.csv(fat_res_alcSmkAct, 'fat_res_alcSmkAct.csv')
nutrient clock coef p CI_L CI_H n B_CI
Total fat Horvath1 -0.5927376 0.1276207 -1.3969365 0.2114612 1771 -0.59 (-1.4, 0.21)
Total fat Horvath2 -0.0690771 0.8054067 -0.6945757 0.5564215 1771 -0.07 (-0.69, 0.56)
Total fat Hannum -0.2008399 0.6109061 -1.0756920 0.6740122 1771 -0.2 (-1.08, 0.67)
Total fat Lin -0.6051004 0.2979557 -1.8585881 0.6483874 1771 -0.61 (-1.86, 0.65)
Total fat Zhang -0.0040567 0.9713125 -0.2561903 0.2480769 1771 0 (-0.26, 0.25)
Total fat VidalBralo 0.1853779 0.6707236 -0.7834497 1.1542054 1771 0.19 (-0.78, 1.15)
Total fat PhenoAge -0.1097686 0.8222227 -1.1999568 0.9804197 1771 -0.11 (-1.2, 0.98)
Total fat GrimAge2 0.4973133 0.0907373 -0.0991439 1.0937705 1771 0.5 (-0.1, 1.09)
Total fat DNAmTL 0.0001375 0.9902050 -0.0249054 0.0251805 1771 0 (-0.02, 0.03)
Total fat YangCell -0.0858916 0.1793516 -0.2204882 0.0487050 1771 -0.09 (-0.22, 0.05)
Total fat DunedinPoAm 0.0826809 0.2128551 -0.0581721 0.2235339 1771 0.08 (-0.06, 0.22)
Saturated fat Horvath1 -0.0070032 0.9725662 -0.4621737 0.4481672 1771 -0.01 (-0.46, 0.45)
Saturated fat Horvath2 0.2107762 0.2346502 -0.1673893 0.5889418 1771 0.21 (-0.17, 0.59)
Saturated fat Hannum 0.2273907 0.3797137 -0.3366095 0.7913910 1771 0.23 (-0.34, 0.79)
Saturated fat Lin -0.2411006 0.5299515 -1.0880304 0.6058293 1771 -0.24 (-1.09, 0.61)
Saturated fat Zhang 0.0758893 0.2522664 -0.0659410 0.2177196 1771 0.08 (-0.07, 0.22)
Saturated fat VidalBralo 0.3753992 0.2348844 -0.2984951 1.0492934 1771 0.38 (-0.3, 1.05)
Saturated fat PhenoAge 0.3439826 0.3424277 -0.4420167 1.1299819 1771 0.34 (-0.44, 1.13)
Saturated fat GrimAge2 0.4233781 0.0431543 0.0166379 0.8301183 1771 0.42 (0.02, 0.83)
Saturated fat DNAmTL -0.0000836 0.9913656 -0.0173478 0.0171807 1771 0 (-0.02, 0.02)
Saturated fat YangCell -0.0777473 0.1025278 -0.1750116 0.0195170 1771 -0.08 (-0.18, 0.02)
Saturated fat DunedinPoAm 0.0669511 0.1929565 -0.0416581 0.1755602 1771 0.07 (-0.04, 0.18)
Monounsaturated fat Horvath1 -0.4989153 0.1387613 -1.1986578 0.2008272 1771 -0.5 (-1.2, 0.2)
Monounsaturated fat Horvath2 -0.0304127 0.8949249 -0.5448206 0.4839953 1771 -0.03 (-0.54, 0.48)
Monounsaturated fat Hannum 0.0831411 0.8179608 -0.7228603 0.8891426 1771 0.08 (-0.72, 0.89)
Monounsaturated fat Lin -0.4363066 0.3859256 -1.5334338 0.6608205 1771 -0.44 (-1.53, 0.66)
Monounsaturated fat Zhang -0.0087022 0.9293371 -0.2279927 0.2105883 1771 -0.01 (-0.23, 0.21)
Monounsaturated fat VidalBralo 0.4177659 0.2948271 -0.4416555 1.2771872 1771 0.42 (-0.44, 1.28)
Monounsaturated fat PhenoAge 0.3186015 0.4588403 -0.6254825 1.2626855 1771 0.32 (-0.63, 1.26)
Monounsaturated fat GrimAge2 0.5364348 0.0386394 0.0358556 1.0370141 1771 0.54 (0.04, 1.04)
Monounsaturated fat DNAmTL -0.0103149 0.3205352 -0.0327765 0.0121467 1771 -0.01 (-0.03, 0.01)
Monounsaturated fat YangCell -0.0578422 0.3118347 -0.1814039 0.0657196 1771 -0.06 (-0.18, 0.07)
Monounsaturated fat DunedinPoAm 0.1054837 0.0776187 -0.0147182 0.2256856 1771 0.11 (-0.01, 0.23)
Polyunsaturated fat Horvath1 -0.6752776 0.0287686 -1.2605067 -0.0900485 1771 -0.68 (-1.26, -0.09)
Polyunsaturated fat Horvath2 -0.3399979 0.1382893 -0.8161982 0.1362025 1771 -0.34 (-0.82, 0.14)
Polyunsaturated fat Hannum -0.6040253 0.0342146 -1.1504155 -0.0576352 1771 -0.6 (-1.15, -0.06)
Polyunsaturated fat Lin -0.6392844 0.0661129 -1.3324074 0.0538387 1771 -0.64 (-1.33, 0.05)
Polyunsaturated fat Zhang -0.0873842 0.2754963 -0.2595448 0.0847763 1771 -0.09 (-0.26, 0.08)
Polyunsaturated fat VidalBralo -0.2714021 0.2779681 -0.8090858 0.2662816 1771 -0.27 (-0.81, 0.27)
Polyunsaturated fat PhenoAge -0.5875757 0.0404630 -1.1425186 -0.0326328 1771 -0.59 (-1.14, -0.03)
Polyunsaturated fat GrimAge2 -0.0842849 0.6232946 -0.4647994 0.2962296 1771 -0.08 (-0.46, 0.3)
Polyunsaturated fat DNAmTL 0.0029511 0.7110063 -0.0147724 0.0206746 1771 0 (-0.01, 0.02)
Polyunsaturated fat YangCell -0.0390977 0.3034690 -0.1210865 0.0428911 1771 -0.04 (-0.12, 0.04)
Polyunsaturated fat DunedinPoAm 0.0049457 0.9021803 -0.0849538 0.0948452 1771 0 (-0.08, 0.09)
P:S ratio Horvath1 -0.8701838 0.0265282 -1.6097830 -0.1305847 1771 -0.87 (-1.61, -0.13)
P:S ratio Horvath2 -0.5391536 0.0935063 -1.1924177 0.1141105 1771 -0.54 (-1.19, 0.11)
P:S ratio Hannum -0.8865835 0.0231175 -1.6161629 -0.1570041 1771 -0.89 (-1.62, -0.16)
P:S ratio Lin -0.4239107 0.3175221 -1.3409009 0.4930795 1771 -0.42 (-1.34, 0.49)
P:S ratio Zhang -0.1589920 0.1061772 -0.3603896 0.0424055 1771 -0.16 (-0.36, 0.04)
P:S ratio VidalBralo -0.7994666 0.0409269 -1.5567991 -0.0421341 1771 -0.8 (-1.56, -0.04)
P:S ratio PhenoAge -1.0463152 0.0190801 -1.8705898 -0.2220406 1771 -1.05 (-1.87, -0.22)
P:S ratio GrimAge2 -0.4885678 0.0741665 -1.0373555 0.0602200 1771 -0.49 (-1.04, 0.06)
P:S ratio DNAmTL 0.0047600 0.6825422 -0.0211110 0.0306310 1771 0 (-0.02, 0.03)
P:S ratio YangCell 0.0342950 0.5228158 -0.0840601 0.1526500 1771 0.03 (-0.08, 0.15)
P:S ratio DunedinPoAm -0.0544715 0.2392376 -0.1532543 0.0443112 1771 -0.05 (-0.15, 0.04)
Omega-3 Horvath1 -0.6300049 0.0142462 -1.0957653 -0.1642445 1771 -0.63 (-1.1, -0.16)
Omega-3 Horvath2 -0.2681881 0.0850375 -0.5829650 0.0465888 1771 -0.27 (-0.58, 0.05)
Omega-3 Hannum -0.6694762 0.0199939 -1.2024400 -0.1365124 1771 -0.67 (-1.2, -0.14)
Omega-3 Lin -0.5835604 0.0583696 -1.1933481 0.0262272 1771 -0.58 (-1.19, 0.03)
Omega-3 Zhang -0.0704571 0.2474404 -0.2006812 0.0597670 1771 -0.07 (-0.2, 0.06)
Omega-3 VidalBralo -0.4522497 0.0405446 -0.8796083 -0.0248910 1771 -0.45 (-0.88, -0.02)
Omega-3 PhenoAge -0.7716650 0.0129295 -1.3306317 -0.2126983 1771 -0.77 (-1.33, -0.21)
Omega-3 GrimAge2 -0.1935607 0.3040805 -0.6000122 0.2128908 1771 -0.19 (-0.6, 0.21)
Omega-3 DNAmTL 0.0142466 0.1191358 -0.0045802 0.0330734 1771 0.01 (0, 0.03)
Omega-3 YangCell -0.0395877 0.2789410 -0.1181879 0.0390124 1771 -0.04 (-0.12, 0.04)
Omega-3 DunedinPoAm 0.0082515 0.8325346 -0.0788454 0.0953483 1771 0.01 (-0.08, 0.1)
Omega-6 Horvath1 -0.6430553 0.0355525 -1.2304283 -0.0556824 1771 -0.64 (-1.23, -0.06)
Omega-6 Horvath2 -0.3257373 0.1562652 -0.8057738 0.1542993 1771 -0.33 (-0.81, 0.15)
Omega-6 Hannum -0.5652276 0.0399946 -1.0974361 -0.0330191 1771 -0.57 (-1.1, -0.03)
Omega-6 Lin -0.6314934 0.0659460 -1.3156472 0.0526604 1771 -0.63 (-1.32, 0.05)
Omega-6 Zhang -0.0780759 0.3186329 -0.2473813 0.0912295 1771 -0.08 (-0.25, 0.09)
Omega-6 VidalBralo -0.2509056 0.3019549 -0.7752982 0.2734869 1771 -0.25 (-0.78, 0.27)
Omega-6 PhenoAge -0.5351880 0.0533827 -1.0802898 0.0099138 1771 -0.54 (-1.08, 0.01)
Omega-6 GrimAge2 -0.0745581 0.6606126 -0.4517195 0.3026032 1771 -0.07 (-0.45, 0.3)
Omega-6 DNAmTL 0.0014693 0.8482241 -0.0156703 0.0186089 1771 0 (-0.02, 0.02)
Omega-6 YangCell -0.0348857 0.3333700 -0.1130284 0.0432570 1771 -0.03 (-0.11, 0.04)
Omega-6 DunedinPoAm 0.0032034 0.9359134 -0.0858295 0.0922364 1771 0 (-0.09, 0.09)

Omega-3 and omega-6 jointly adjusted model

# dataframe to store results
fat_res_alcSmkAct_omegas = data.frame(nutrient = rep(c('Omega-3', 'Omega-6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 2),
  coef = NA, p = NA, CI_L = NA, CI_H = NA, n = NA, se = NA)

# NHANES variable names
vars_ead = c('HorvathAge', 'SkinBloodAge', 'HannumAge', 'LinAge', 'ZhangAge', 'VidalBraloAge', 'PhenoAge', 'GrimAge2Mort', 'HorvathTelo', 'YangCell_scale', 'DunedinPoAm_scale')

# functions to fill in table
popTable_omegas = function(tab, vars_ead){
    for (i in 1:length(vars_ead)){
        mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
        tab[i,3] = summary(mod)$coef[2,1]
        tab[i,4] = summary(mod)$coef[2,4]
        tab[i,5] = confint(mod)[2,1]
        tab[i,6] = confint(mod)[2,2]
        tab[i,7] = nrow(mod$model)
        tab[i,8] = summary(mod)$coef[2,2]
        tab[i+11,3] = summary(mod)$coef[3,1]
        tab[i+11,4] = summary(mod)$coef[3,4]
        tab[i+11,5] = confint(mod)[3,1]
        tab[i+11,6] = confint(mod)[3,2]
        tab[i+11,7] = nrow(mod$model)   
        tab[i+11,8] = summary(mod)$coef[3,2]
    }
    return(tab)
}

fat_res_alcSmkAct_omegas = popTable_omegas(fat_res_alcSmkAct_omegas, vars_ead)

fat_res_alcSmkAct_omegas$B_CI = paste0(round(fat_res_alcSmkAct_omegas$coef, 2), ' (', round(fat_res_alcSmkAct_omegas$CI_L, 2), ', ', round(fat_res_alcSmkAct_omegas$CI_H, 2), ')')

write.csv(fat_res_alcSmkAct_omegas, 'fat_res_alcSmkAct_omegas.csv')

# calculate VIF
X = model.matrix(formula(" ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR"), data = df[df$use_fat_covar,])

# Horvath1
i = 1
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
# $`Intercept adjusted`
#                                         svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              2.967946   3.212232 1309589.2 7.055276e-07       0.9239513 0.68868994
# omega6_log2                              3.597126   3.694117 1576102.2 6.178180e-07       0.9737444 0.72929935

# Horvath2
i = 2
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
#                                         svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              2.530812   3.212232  725017.5 1.086687e-06       0.7878674 0.68868994
# omega6_log2                              3.167558   3.694117  996926.8 8.601034e-07       0.8574601 0.72929935

# Hannum
i = 3
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
#                                         svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              2.623826   3.212232 1136967.8 7.184226e-07       0.8168234 0.68868994
# omega6_log2                              3.163919   3.694117 1575851.7 5.434998e-07       0.8564750 0.72929935

# Lin
i = 4
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
#                                         svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              2.976786   3.212232 2997642.8 3.091440e-07       0.9267034 0.68868994
# omega6_log2                              3.291811   3.694117 3094102.4 2.879981e-07       0.8910955 0.72929935

# Zhang
i = 5
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
#                                          svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              2.2000084   3.212232  86930.61 7.878522e-06       0.6848847 0.68868994
# omega6_log2                              2.8517601   3.694117 135412.20 5.700914e-06       0.7719733 0.72929935

# Vidal-Bralo
i = 6
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
#                                         svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              3.151974   3.212232 1257285.5 7.804443e-07       0.9812413 0.68868994
# omega6_log2                              3.702299   3.694117 1360590.3 7.366028e-07       1.0022147 0.72929935

# PhenoAge
i = 7
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
#                                         svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              2.961911   3.212232 2113404.1 4.362974e-07       0.9220726 0.68868994
# omega6_log2                              3.514716   3.694117 2519250.1 3.776663e-07       0.9514360 0.72929935

# GrimAge2
i = 8
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
#                                         svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              3.175466   3.212232  854816.1 1.156453e-06       0.9885546 0.68868994
# omega6_log2                              3.717093   3.694117  788996.5 1.275316e-06       1.0062196 0.72929935

# DNAmTL
i = 9
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
#                                         svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              2.829337   3.212232 2170.4203 0.0004058205       0.8808010 0.68868994
# omega6_log2                              3.487489   3.694117 2832.5737 0.0003332890       0.9440657 0.72929935

# YangCell
i = 10
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
#                                         svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              3.449913   3.212232 34265.484 3.134328e-05       1.0739926 0.68868994
# omega6_log2                              3.497886   3.694117 33411.856 2.833964e-05       0.9468801 0.72929935

# DunedinPoAm
i = 11
mod = svyglm(formula(paste0(vars_ead[i], " ~ omega3_log2 + omega6_log2 +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
svyvif(mod, X = data.frame(X[,-1]), w = data.frame(df[df$use_fat_covar,])$WTDN4YR)
#                                         svy.vif.m  reg.vif.m      zeta     varrho.m zeta.x.varrho.m      Rsq.m
# omega3_log2                              2.929468   3.212232 34781.148 2.622032e-05       0.9119727 0.68868994
# omega6_log2                              3.428352   3.694117 35402.935 2.621413e-05       0.9280572 0.72929935
nutrient clock coef p CI_L CI_H n se B_CI
Omega-3 Horvath1 -0.4352649 0.2053140 -1.1723998 0.3018700 1771 0.3117345 -0.44 (-1.17, 0.3)
Omega-3 Horvath2 -0.1219039 0.5873857 -0.6288469 0.3850391 1771 0.2143863 -0.12 (-0.63, 0.39)
Omega-3 Hannum -0.6065301 0.1100800 -1.3906122 0.1775520 1771 0.3315885 -0.61 (-1.39, 0.18)
Omega-3 Lin -0.3594790 0.4167219 -1.3444519 0.6254939 1771 0.4165452 -0.36 (-1.34, 0.63)
Omega-3 Zhang -0.0411695 0.5879192 -0.2126252 0.1302862 1771 0.0725086 -0.04 (-0.21, 0.13)
Omega-3 VidalBralo -0.5693325 0.0468111 -1.1280708 -0.0105941 1771 0.2362905 -0.57 (-1.13, -0.01)
Omega-3 PhenoAge -0.8409103 0.0409114 -1.6358562 -0.0459644 1771 0.3361828 -0.84 (-1.64, -0.05)
Omega-3 GrimAge2 -0.2836922 0.3323209 -0.9278562 0.3604719 1771 0.2724171 -0.28 (-0.93, 0.36)
Omega-3 DNAmTL 0.0257793 0.0781148 -0.0037810 0.0553397 1771 0.0125011 0.03 (0, 0.06)
Omega-3 YangCell -0.0340828 0.4990428 -0.1471503 0.0789848 1771 0.0478163 -0.03 (-0.15, 0.08)
Omega-3 DunedinPoAm 0.0120632 0.8278853 -0.1143232 0.1384496 1771 0.0534488 0.01 (-0.11, 0.14)
Omega-6 Horvath1 -0.3091385 0.4575774 -1.2390158 0.6207388 1771 0.3932453 -0.31 (-1.24, 0.62)
Omega-6 Horvath2 -0.2322178 0.4793285 -0.9671819 0.5027464 1771 0.3108165 -0.23 (-0.97, 0.5)
Omega-6 Hannum -0.0999233 0.7777710 -0.9054195 0.7055728 1771 0.3406445 -0.1 (-0.91, 0.71)
Omega-6 Lin -0.3557163 0.4720702 -1.4624734 0.7510408 1771 0.4680478 -0.36 (-1.46, 0.75)
Omega-6 Zhang -0.0464924 0.6468080 -0.2761959 0.1832111 1771 0.0971416 -0.05 (-0.28, 0.18)
Omega-6 VidalBralo 0.1858622 0.5589598 -0.5305364 0.9022609 1771 0.3029651 0.19 (-0.53, 0.9)
Omega-6 PhenoAge 0.1099229 0.7492012 -0.6716614 0.8915073 1771 0.3305322 0.11 (-0.67, 0.89)
Omega-6 GrimAge2 0.1430785 0.5945441 -0.4637655 0.7499225 1771 0.2566344 0.14 (-0.46, 0.75)
Omega-6 DNAmTL -0.0183075 0.1675965 -0.0464289 0.0098138 1771 0.0118925 -0.02 (-0.05, 0.01)
Omega-6 YangCell -0.0087388 0.8590873 -0.1209280 0.1034504 1771 0.0474448 -0.01 (-0.12, 0.1)
Omega-6 DunedinPoAm -0.0060510 0.9151260 -0.1355556 0.1234537 1771 0.0547675 -0.01 (-0.14, 0.12)

Associations with individual fatty acids

# dataframe to store results
subtypes_res = data.frame(nutrient = rep(c('SFA 4:0', 'SFA 6:0', 'SFA 8:0', 'SFA 10:0', 'SFA 12:0', 'SFA 14:0', 'SFA 16:0', 'SFA 18:0',
                            'MUFA 16:1', 'MUFA 18:1', 'MUFA 20:1', 'MUFA 22:1',
                            'PUFA 18:2', 'PUFA 20:4', 'PUFA 18:3', 'PUFA 20:5', 'PUFA 22:5', 'PUFA 22:6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 18),
  coef = NA, p = NA, CI_L = NA, CI_H = NA, n = NA)

# NHANES variable names
vars_ead = c("HorvathAge", "SkinBloodAge", "HannumAge", "LinAge", "ZhangAge", "VidalBraloAge", "PhenoAge", "GrimAge2Mort", "HorvathTelo", "YangCell_scale", "DunedinPoAm_scale")
subtypes = c("DRXTS040_log2", "DRXTS060_log2", "DRXTS080_log2", "DRXTS100_log2", "DRXTS120_log2", "DRXTS140_log2", "DRXTS160_log2", "DRXTS180_log2", "DRXTM161_log2", 
        "DRXTM181_log2", "DRXTM201_log2", "DRXTM221_log2", "DRXTP182_log2", "DRXTP204_log2", "DRXTP183_log2", "DRXTP205_log2", "DRXTP225_log2", "DRXTP226_log2")

# functions to fill in table
popTable1_subtypes = function(tab, i, j, k){
    # i = EAD variable
    # j = fat variable
    # k = table row
    mod = svyglm(formula(paste0(vars_ead[i], " ~ ", subtypes[j], " +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
    tab[k,3] = summary(mod)$coef[2,1]
    tab[k,4] = summary(mod)$coef[2,4]
    tab[k,5] = confint(mod)[2,1]
    tab[k,6] = confint(mod)[2,2]
    tab[k,7] = nrow(mod$model)
    return(tab)
}

popTable2_subtypes = function(tab, subtypes, vars_ead){
    k = 1
    for (j in 1:length(subtypes)){
        for (i in 1:length(vars_ead)){
            tab = popTable1_subtypes(tab, i, j, k)
            k = k + 1
        }
    }
    return(tab)
}

subtypes_res = popTable2_subtypes(subtypes_res, subtypes, vars_ead)

subtypes_res$B_CI = paste0(round(subtypes_res$coef, 2), ' (', round(subtypes_res$CI_L, 2), ', ', round(subtypes_res$CI_H, 2), ')')

write.csv(subtypes_res, 'subtypes_res_noScale.csv')


# results for plotting
# dataframes to store results
type_B = data.frame(matrix(nrow = 18, ncol = 11))
rownames(type_B) = subtypes
colnames(type_B) = c("HorvathAge", "SkinBloodAge", "HannumAge", "LinAge", "ZhangAge", "VidalBraloAge", "PhenoAge", "GrimAge2Mort", "HorvathTelo", "YangCell_scale", "DunedinPoAm")
type_p = type_B

for (i in 1:nrow(type_B)){
    for (j in 1:ncol(type_B)){
        coef = summary(svyglm(formula(paste0("scale(", colnames(type_B)[j], ") ~ ", rownames(type_B)[i], " +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian()))$coef
        type_B[i,j] = coef[2,1]
        type_p[i,j] = coef[2,4]
    }
}

write.csv(type_B, 'subtypes_B.csv')
write.csv(type_p, 'subtypes_p.csv')
nutrient clock coef p CI_L CI_H n B_CI
SFA 4:0 Horvath1 0.0297385 0.4322779 -0.0531969 0.1126739 1771 0.03 (-0.05, 0.11)
SFA 4:0 Horvath2 0.0223400 0.3962706 -0.0351376 0.0798175 1771 0.02 (-0.04, 0.08)
SFA 4:0 Hannum 0.0359249 0.4512639 -0.0686891 0.1405389 1771 0.04 (-0.07, 0.14)
SFA 4:0 Lin -0.0448376 0.6242103 -0.2478055 0.1581304 1771 -0.04 (-0.25, 0.16)
SFA 4:0 Zhang 0.0073637 0.5528665 -0.0200501 0.0347775 1771 0.01 (-0.02, 0.03)
SFA 4:0 VidalBralo 0.0602672 0.3237886 -0.0719134 0.1924477 1771 0.06 (-0.07, 0.19)
SFA 4:0 PhenoAge 0.0346369 0.6185231 -0.1195792 0.1888530 1771 0.03 (-0.12, 0.19)
SFA 4:0 GrimAge2 0.0427403 0.4818876 -0.0908997 0.1763802 1771 0.04 (-0.09, 0.18)
SFA 4:0 DNAmTL -0.0009186 0.4696625 -0.0037100 0.0018727 1771 0 (0, 0)
SFA 4:0 YangCell -0.0057330 0.4283945 -0.0215816 0.0101156 1771 -0.01 (-0.02, 0.01)
SFA 4:0 DunedinPoAm 0.0078568 0.2964851 -0.0083658 0.0240793 1771 0.01 (-0.01, 0.02)
SFA 6:0 Horvath1 0.0205991 0.6514969 -0.0806557 0.1218539 1771 0.02 (-0.08, 0.12)
SFA 6:0 Horvath2 0.0232873 0.4459265 -0.0437026 0.0902772 1771 0.02 (-0.04, 0.09)
SFA 6:0 Hannum 0.0474360 0.3102280 -0.0535371 0.1484091 1771 0.05 (-0.05, 0.15)
SFA 6:0 Lin -0.0463173 0.5275470 -0.2080481 0.1154134 1771 -0.05 (-0.21, 0.12)
SFA 6:0 Zhang 0.0039764 0.7809498 -0.0279048 0.0358576 1771 0 (-0.03, 0.04)
SFA 6:0 VidalBralo 0.0771051 0.1571190 -0.0367906 0.1910008 1771 0.08 (-0.04, 0.19)
SFA 6:0 PhenoAge 0.0491760 0.4417892 -0.0909590 0.1893109 1771 0.05 (-0.09, 0.19)
SFA 6:0 GrimAge2 0.0557368 0.3310915 -0.0684877 0.1799612 1771 0.06 (-0.07, 0.18)
SFA 6:0 DNAmTL -0.0008366 0.5444517 -0.0038845 0.0022114 1771 0 (0, 0)
SFA 6:0 YangCell -0.0038863 0.5755422 -0.0192411 0.0114686 1771 0 (-0.02, 0.01)
SFA 6:0 DunedinPoAm 0.0078188 0.3347958 -0.0097500 0.0253876 1771 0.01 (-0.01, 0.03)
SFA 8:0 Horvath1 0.0368085 0.4665111 -0.0742170 0.1478339 1771 0.04 (-0.07, 0.15)
SFA 8:0 Horvath2 0.0187833 0.6481139 -0.0725824 0.1101491 1771 0.02 (-0.07, 0.11)
SFA 8:0 Hannum -0.0023016 0.9673247 -0.1278818 0.1232787 1771 0 (-0.13, 0.12)
SFA 8:0 Lin -0.0326811 0.7555385 -0.2665606 0.2011984 1771 -0.03 (-0.27, 0.2)
SFA 8:0 Zhang 0.0002075 0.9903984 -0.0383332 0.0387482 1771 0 (-0.04, 0.04)
SFA 8:0 VidalBralo 0.0596437 0.3515798 -0.0794098 0.1986971 1771 0.06 (-0.08, 0.2)
SFA 8:0 PhenoAge -0.0445380 0.4975865 -0.1890927 0.1000168 1771 -0.04 (-0.19, 0.1)
SFA 8:0 GrimAge2 0.0367498 0.4997960 -0.0831615 0.1566612 1771 0.04 (-0.08, 0.16)
SFA 8:0 DNAmTL 0.0004233 0.8391116 -0.0042305 0.0050771 1771 0 (0, 0.01)
SFA 8:0 YangCell -0.0132043 0.1480993 -0.0322261 0.0058175 1771 -0.01 (-0.03, 0.01)
SFA 8:0 DunedinPoAm 0.0049024 0.6343330 -0.0179650 0.0277697 1771 0 (-0.02, 0.03)
SFA 10:0 Horvath1 0.0464418 0.4889637 -0.1012234 0.1941071 1771 0.05 (-0.1, 0.19)
SFA 10:0 Horvath2 0.0267314 0.6309051 -0.0966892 0.1501520 1771 0.03 (-0.1, 0.15)
SFA 10:0 Hannum 0.0031988 0.9640134 -0.1552652 0.1616627 1771 0 (-0.16, 0.16)
SFA 10:0 Lin -0.1048645 0.3924503 -0.3723898 0.1626609 1771 -0.1 (-0.37, 0.16)
SFA 10:0 Zhang 0.0022711 0.9095548 -0.0423962 0.0469384 1771 0 (-0.04, 0.05)
SFA 10:0 VidalBralo 0.0448486 0.5584264 -0.1245355 0.2142327 1771 0.04 (-0.12, 0.21)
SFA 10:0 PhenoAge -0.0284969 0.7091380 -0.1984798 0.1414860 1771 -0.03 (-0.2, 0.14)
SFA 10:0 GrimAge2 0.0557061 0.3895036 -0.0854843 0.1968966 1771 0.06 (-0.09, 0.2)
SFA 10:0 DNAmTL 0.0023069 0.4236723 -0.0040030 0.0086168 1771 0 (0, 0.01)
SFA 10:0 YangCell -0.0175163 0.1106889 -0.0400412 0.0050085 1771 -0.02 (-0.04, 0.01)
SFA 10:0 DunedinPoAm 0.0116251 0.4141584 -0.0195006 0.0427507 1771 0.01 (-0.02, 0.04)
SFA 12:0 Horvath1 0.0465290 0.4928802 -0.1027984 0.1958564 1771 0.05 (-0.1, 0.2)
SFA 12:0 Horvath2 0.0325383 0.6275149 -0.1161923 0.1812688 1771 0.03 (-0.12, 0.18)
SFA 12:0 Hannum -0.0441848 0.6043494 -0.2331099 0.1447402 1771 -0.04 (-0.23, 0.14)
SFA 12:0 Lin -0.1178173 0.4390757 -0.4514912 0.2158566 1771 -0.12 (-0.45, 0.22)
SFA 12:0 Zhang 0.0014791 0.9441699 -0.0457236 0.0486818 1771 0 (-0.05, 0.05)
SFA 12:0 VidalBralo 0.0314291 0.7628446 -0.2006889 0.2635471 1771 0.03 (-0.2, 0.26)
SFA 12:0 PhenoAge -0.1042404 0.2787714 -0.3111273 0.1026465 1771 -0.1 (-0.31, 0.1)
SFA 12:0 GrimAge2 0.0789874 0.2903368 -0.0818878 0.2398625 1771 0.08 (-0.08, 0.24)
SFA 12:0 DNAmTL 0.0032844 0.3558747 -0.0044455 0.0110143 1771 0 (0, 0.01)
SFA 12:0 YangCell -0.0311406 0.0450922 -0.0614125 -0.0008688 1771 -0.03 (-0.06, 0)
SFA 12:0 DunedinPoAm 0.0128573 0.5016448 -0.0292819 0.0549966 1771 0.01 (-0.03, 0.05)
SFA 14:0 Horvath1 0.0891323 0.3794909 -0.1318350 0.3100996 1771 0.09 (-0.13, 0.31)
SFA 14:0 Horvath2 0.0851666 0.4239353 -0.1479201 0.3182533 1771 0.09 (-0.15, 0.32)
SFA 14:0 Hannum 0.0695022 0.5882379 -0.2146886 0.3536930 1771 0.07 (-0.21, 0.35)
SFA 14:0 Lin -0.1482217 0.4620936 -0.5907483 0.2943048 1771 -0.15 (-0.59, 0.29)
SFA 14:0 Zhang 0.0205743 0.5589626 -0.0572390 0.0983875 1771 0.02 (-0.06, 0.1)
SFA 14:0 VidalBralo 0.1121995 0.4551669 -0.2174697 0.4418688 1771 0.11 (-0.22, 0.44)
SFA 14:0 PhenoAge 0.0274511 0.8427952 -0.2815474 0.3364497 1771 0.03 (-0.28, 0.34)
SFA 14:0 GrimAge2 0.1225061 0.2375392 -0.0987781 0.3437902 1771 0.12 (-0.1, 0.34)
SFA 14:0 DNAmTL 0.0071140 0.1620122 -0.0035353 0.0177634 1771 0.01 (0, 0.02)
SFA 14:0 YangCell -0.0446578 0.0556219 -0.0906780 0.0013625 1771 -0.04 (-0.09, 0)
SFA 14:0 DunedinPoAm 0.0233574 0.3781878 -0.0343815 0.0810962 1771 0.02 (-0.03, 0.08)
SFA 16:0 Horvath1 -0.0630681 0.8053976 -0.6341277 0.5079915 1771 -0.06 (-0.63, 0.51)
SFA 16:0 Horvath2 0.2598166 0.1756943 -0.1434860 0.6631192 1771 0.26 (-0.14, 0.66)
SFA 16:0 Hannum 0.3776931 0.2347410 -0.3000915 1.0554778 1771 0.38 (-0.3, 1.06)
SFA 16:0 Lin -0.1421332 0.7570404 -1.1658323 0.8815659 1771 -0.14 (-1.17, 0.88)
SFA 16:0 Zhang 0.1181133 0.1298422 -0.0432203 0.2794469 1771 0.12 (-0.04, 0.28)
SFA 16:0 VidalBralo 0.4457353 0.2179406 -0.3229573 1.2144278 1771 0.45 (-0.32, 1.21)
SFA 16:0 PhenoAge 0.5816773 0.1929430 -0.3618974 1.5252519 1771 0.58 (-0.36, 1.53)
SFA 16:0 GrimAge2 0.5541727 0.0305723 0.0667210 1.0416244 1771 0.55 (0.07, 1.04)
SFA 16:0 DNAmTL -0.0074816 0.4089099 -0.0272796 0.0123164 1771 -0.01 (-0.03, 0.01)
SFA 16:0 YangCell -0.0665457 0.2220729 -0.1824459 0.0493544 1771 -0.07 (-0.18, 0.05)
SFA 16:0 DunedinPoAm 0.0969452 0.1183140 -0.0308341 0.2247244 1771 0.1 (-0.03, 0.22)
SFA 18:0 Horvath1 -0.0665514 0.7546946 -0.5411168 0.4080141 1771 -0.07 (-0.54, 0.41)
SFA 18:0 Horvath2 0.2061573 0.1585145 -0.0995323 0.5118469 1771 0.21 (-0.1, 0.51)
SFA 18:0 Hannum 0.2387746 0.3340621 -0.2968864 0.7744355 1771 0.24 (-0.3, 0.77)
SFA 18:0 Lin -0.2457998 0.4539132 -0.9659404 0.4743408 1771 -0.25 (-0.97, 0.47)
SFA 18:0 Zhang 0.0767835 0.2116965 -0.0536568 0.2072239 1771 0.08 (-0.05, 0.21)
SFA 18:0 VidalBralo 0.5205202 0.1210756 -0.1715589 1.2125993 1771 0.52 (-0.17, 1.21)
SFA 18:0 PhenoAge 0.4923817 0.1822731 -0.2850290 1.2697924 1771 0.49 (-0.29, 1.27)
SFA 18:0 GrimAge2 0.4293044 0.0285104 0.0580591 0.8005497 1771 0.43 (0.06, 0.8)
SFA 18:0 DNAmTL -0.0054063 0.5002831 -0.0230673 0.0122547 1771 -0.01 (-0.02, 0.01)
SFA 18:0 YangCell -0.0601625 0.1737260 -0.1530714 0.0327464 1771 -0.06 (-0.15, 0.03)
SFA 18:0 DunedinPoAm 0.0578414 0.2364053 -0.0463620 0.1620448 1771 0.06 (-0.05, 0.16)
MUFA 16:1 Horvath1 0.0619957 0.6826642 -0.2750973 0.3990887 1771 0.06 (-0.28, 0.4)
MUFA 16:1 Horvath2 0.2598290 0.0341632 0.0248815 0.4947766 1771 0.26 (0.02, 0.49)
MUFA 16:1 Hannum 0.4025442 0.0669328 -0.0355319 0.8406204 1771 0.4 (-0.04, 0.84)
MUFA 16:1 Lin -0.0053243 0.9836593 -0.5863788 0.5757303 1771 -0.01 (-0.59, 0.58)
MUFA 16:1 Zhang 0.0731797 0.1051408 -0.0191931 0.1655525 1771 0.07 (-0.02, 0.17)
MUFA 16:1 VidalBralo 0.2426138 0.2357555 -0.1938005 0.6790282 1771 0.24 (-0.19, 0.68)
MUFA 16:1 PhenoAge 0.4807668 0.0674932 -0.0437627 1.0052963 1771 0.48 (-0.04, 1.01)
MUFA 16:1 GrimAge2 0.3007665 0.1228541 -0.1013570 0.7028899 1771 0.3 (-0.1, 0.7)
MUFA 16:1 DNAmTL -0.0041953 0.5202975 -0.0185838 0.0101933 1771 0 (-0.02, 0.01)
MUFA 16:1 YangCell -0.0351386 0.2970114 -0.1077772 0.0374999 1771 -0.04 (-0.11, 0.04)
MUFA 16:1 DunedinPoAm 0.0781109 0.0356596 0.0067090 0.1495128 1771 0.08 (0.01, 0.15)
MUFA 18:1 Horvath1 -0.5348068 0.1102445 -1.2215259 0.1519123 1771 -0.53 (-1.22, 0.15)
MUFA 18:1 Horvath2 -0.0611414 0.7931492 -0.5811425 0.4588597 1771 -0.06 (-0.58, 0.46)
MUFA 18:1 Hannum 0.0251784 0.9444735 -0.7827462 0.8331030 1771 0.03 (-0.78, 0.83)
MUFA 18:1 Lin -0.4719116 0.3329481 -1.5279966 0.5841735 1771 -0.47 (-1.53, 0.58)
MUFA 18:1 Zhang -0.0131299 0.8919908 -0.2291363 0.2028766 1771 -0.01 (-0.23, 0.2)
MUFA 18:1 VidalBralo 0.3550231 0.3500506 -0.4699028 1.1799490 1771 0.36 (-0.47, 1.18)
MUFA 18:1 PhenoAge 0.2384242 0.5677075 -0.6842085 1.1610569 1771 0.24 (-0.68, 1.16)
MUFA 18:1 GrimAge2 0.4873386 0.0541769 -0.0111108 0.9857879 1771 0.49 (-0.01, 0.99)
MUFA 18:1 DNAmTL -0.0088843 0.3818393 -0.0310238 0.0132552 1771 -0.01 (-0.03, 0.01)
MUFA 18:1 YangCell -0.0567769 0.3147152 -0.1788369 0.0652830 1771 -0.06 (-0.18, 0.07)
MUFA 18:1 DunedinPoAm 0.1005160 0.0975745 -0.0230708 0.2241028 1771 0.1 (-0.02, 0.22)
MUFA 20:1 Horvath1 -0.2027798 0.2188059 -0.5532093 0.1476496 1771 -0.2 (-0.55, 0.15)
MUFA 20:1 Horvath2 -0.0932375 0.3855473 -0.3274943 0.1410194 1771 -0.09 (-0.33, 0.14)
MUFA 20:1 Hannum -0.1633015 0.3243945 -0.5219394 0.1953364 1771 -0.16 (-0.52, 0.2)
MUFA 20:1 Lin -0.2569924 0.1116401 -0.5885041 0.0745193 1771 -0.26 (-0.59, 0.07)
MUFA 20:1 Zhang -0.0598367 0.2573398 -0.1729725 0.0532992 1771 -0.06 (-0.17, 0.05)
MUFA 20:1 VidalBralo -0.0129954 0.9035815 -0.2526699 0.2266791 1771 -0.01 (-0.25, 0.23)
MUFA 20:1 PhenoAge -0.1388110 0.3609432 -0.4691641 0.1915420 1771 -0.14 (-0.47, 0.19)
MUFA 20:1 GrimAge2 0.1090061 0.1502300 -0.0489685 0.2669808 1771 0.11 (-0.05, 0.27)
MUFA 20:1 DNAmTL -0.0041402 0.4165366 -0.0152845 0.0070041 1771 0 (-0.02, 0.01)
MUFA 20:1 YangCell -0.0152728 0.4838534 -0.0632498 0.0327041 1771 -0.02 (-0.06, 0.03)
MUFA 20:1 DunedinPoAm 0.0192451 0.2375509 -0.0155185 0.0540086 1771 0.02 (-0.02, 0.05)
MUFA 22:1 Horvath1 0.0150883 0.7878637 -0.1099482 0.1401247 1771 0.02 (-0.11, 0.14)
MUFA 22:1 Horvath2 0.0221830 0.5849254 -0.0677073 0.1120733 1771 0.02 (-0.07, 0.11)
MUFA 22:1 Hannum -0.0163687 0.7565907 -0.1340365 0.1012990 1771 -0.02 (-0.13, 0.1)
MUFA 22:1 Lin -0.0345389 0.5826893 -0.1736521 0.1045743 1771 -0.03 (-0.17, 0.1)
MUFA 22:1 Zhang -0.0047564 0.7579046 -0.0391411 0.0296282 1771 0 (-0.04, 0.03)
MUFA 22:1 VidalBralo -0.0348845 0.3610153 -0.1179183 0.0481494 1771 -0.03 (-0.12, 0.05)
MUFA 22:1 PhenoAge 0.0447288 0.5008786 -0.1015976 0.1910552 1771 0.04 (-0.1, 0.19)
MUFA 22:1 GrimAge2 -0.0349630 0.3349128 -0.1135448 0.0436189 1771 -0.03 (-0.11, 0.04)
MUFA 22:1 DNAmTL 0.0003165 0.8581466 -0.0036369 0.0042698 1771 0 (0, 0)
MUFA 22:1 YangCell 0.0015109 0.8266734 -0.0138880 0.0169098 1771 0 (-0.01, 0.02)
MUFA 22:1 DunedinPoAm 0.0057601 0.4431886 -0.0107067 0.0222269 1771 0.01 (-0.01, 0.02)
PUFA 18:2 Horvath1 -0.6324011 0.0368450 -1.2153354 -0.0494669 1771 -0.63 (-1.22, -0.05)
PUFA 18:2 Horvath2 -0.3212689 0.1583084 -0.7973778 0.1548400 1771 -0.32 (-0.8, 0.15)
PUFA 18:2 Hannum -0.5611960 0.0395604 -1.0881028 -0.0342892 1771 -0.56 (-1.09, -0.03)
PUFA 18:2 Lin -0.6252856 0.0665805 -1.3046771 0.0541059 1771 -0.63 (-1.3, 0.05)
PUFA 18:2 Zhang -0.0766272 0.3237181 -0.2446631 0.0914088 1771 -0.08 (-0.24, 0.09)
PUFA 18:2 VidalBralo -0.2506147 0.2978876 -0.7696937 0.2684644 1771 -0.25 (-0.77, 0.27)
PUFA 18:2 PhenoAge -0.5285708 0.0535754 -1.0674824 0.0103408 1771 -0.53 (-1.07, 0.01)
PUFA 18:2 GrimAge2 -0.0760758 0.6513987 -0.4499124 0.2977608 1771 -0.08 (-0.45, 0.3)
PUFA 18:2 DNAmTL 0.0013269 0.8615779 -0.0156662 0.0183200 1771 0 (-0.02, 0.02)
PUFA 18:2 YangCell -0.0334600 0.3467832 -0.1106509 0.0437310 1771 -0.03 (-0.11, 0.04)
PUFA 18:2 DunedinPoAm 0.0017623 0.9643491 -0.0863646 0.0898893 1771 0 (-0.09, 0.09)
PUFA 20:4 Horvath1 -0.0764681 0.2776731 -0.2278613 0.0749251 1771 -0.08 (-0.23, 0.07)
PUFA 20:4 Horvath2 -0.0135902 0.7829440 -0.1235834 0.0964031 1771 -0.01 (-0.12, 0.1)
PUFA 20:4 Hannum -0.0281585 0.7187557 -0.2021897 0.1458727 1771 -0.03 (-0.2, 0.15)
PUFA 20:4 Lin -0.1510815 0.1174589 -0.3496744 0.0475113 1771 -0.15 (-0.35, 0.05)
PUFA 20:4 Zhang -0.0265029 0.2342717 -0.0740111 0.0210053 1771 -0.03 (-0.07, 0.02)
PUFA 20:4 VidalBralo -0.0952962 0.1444667 -0.2311696 0.0405772 1771 -0.1 (-0.23, 0.04)
PUFA 20:4 PhenoAge -0.0550041 0.5464005 -0.2564073 0.1463991 1771 -0.06 (-0.26, 0.15)
PUFA 20:4 GrimAge2 0.0128518 0.7855289 -0.0924573 0.1181608 1771 0.01 (-0.09, 0.12)
PUFA 20:4 DNAmTL 0.0005586 0.8188296 -0.0048831 0.0060003 1771 0 (0, 0.01)
PUFA 20:4 YangCell -0.0120364 0.3313888 -0.0388802 0.0148075 1771 -0.01 (-0.04, 0.01)
PUFA 20:4 DunedinPoAm 0.0192672 0.1890988 -0.0116865 0.0502210 1771 0.02 (-0.01, 0.05)
PUFA 18:3 Horvath1 -0.5700512 0.0242715 -1.0444996 -0.0956029 1771 -0.57 (-1.04, -0.1)
PUFA 18:3 Horvath2 -0.2210661 0.1740006 -0.5627041 0.1205718 1771 -0.22 (-0.56, 0.12)
PUFA 18:3 Hannum -0.5974593 0.0328092 -1.1322543 -0.0626642 1771 -0.6 (-1.13, -0.06)
PUFA 18:3 Lin -0.5558122 0.0720673 -1.1745622 0.0629377 1771 -0.56 (-1.17, 0.06)
PUFA 18:3 Zhang -0.0337384 0.5903326 -0.1724864 0.1050096 1771 -0.03 (-0.17, 0.11)
PUFA 18:3 VidalBralo -0.3629673 0.1071376 -0.8242341 0.0982994 1771 -0.36 (-0.82, 0.1)
PUFA 18:3 PhenoAge -0.6868575 0.0355323 -1.3141490 -0.0595659 1771 -0.69 (-1.31, -0.06)
PUFA 18:3 GrimAge2 -0.1946743 0.3227206 -0.6206395 0.2312908 1771 -0.19 (-0.62, 0.23)
PUFA 18:3 DNAmTL 0.0081562 0.3839251 -0.0122628 0.0285752 1771 0.01 (-0.01, 0.03)
PUFA 18:3 YangCell -0.0214603 0.5728041 -0.1056341 0.0627136 1771 -0.02 (-0.11, 0.06)
PUFA 18:3 DunedinPoAm -0.0107485 0.7841665 -0.0982505 0.0767535 1771 -0.01 (-0.1, 0.08)
PUFA 20:5 Horvath1 -0.0787740 0.1699883 -0.1992345 0.0416865 1771 -0.08 (-0.2, 0.04)
PUFA 20:5 Horvath2 -0.0308687 0.4042677 -0.1117137 0.0499764 1771 -0.03 (-0.11, 0.05)
PUFA 20:5 Hannum -0.1048317 0.0575975 -0.2139527 0.0042893 1771 -0.1 (-0.21, 0)
PUFA 20:5 Lin -0.0247640 0.6834920 -0.1597916 0.1102635 1771 -0.02 (-0.16, 0.11)
PUFA 20:5 Zhang -0.0240997 0.1077302 -0.0547871 0.0065877 1771 -0.02 (-0.05, 0.01)
PUFA 20:5 VidalBralo -0.0806189 0.1066002 -0.1828860 0.0216482 1771 -0.08 (-0.18, 0.02)
PUFA 20:5 PhenoAge -0.1322891 0.0503921 -0.2648660 0.0002877 1771 -0.13 (-0.26, 0)
PUFA 20:5 GrimAge2 -0.0035396 0.8861659 -0.0587698 0.0516905 1771 0 (-0.06, 0.05)
PUFA 20:5 DNAmTL 0.0047717 0.0071457 0.0017016 0.0078418 1771 0 (0, 0.01)
PUFA 20:5 YangCell -0.0126895 0.0717782 -0.0267983 0.0014193 1771 -0.01 (-0.03, 0)
PUFA 20:5 DunedinPoAm 0.0053933 0.4840774 -0.0115579 0.0223446 1771 0.01 (-0.01, 0.02)
PUFA 22:5 Horvath1 -0.1101862 0.0573256 -0.2247239 0.0043516 1771 -0.11 (-0.22, 0)
PUFA 22:5 Horvath2 -0.0540915 0.0984214 -0.1207981 0.0126152 1771 -0.05 (-0.12, 0.01)
PUFA 22:5 Hannum -0.1154233 0.0333925 -0.2191969 -0.0116497 1771 -0.12 (-0.22, -0.01)
PUFA 22:5 Lin -0.0607910 0.3341465 -0.1971933 0.0756113 1771 -0.06 (-0.2, 0.08)
PUFA 22:5 Zhang -0.0289876 0.0362240 -0.0555917 -0.0023835 1771 -0.03 (-0.06, 0)
PUFA 22:5 VidalBralo -0.0723647 0.0941420 -0.1602483 0.0155189 1771 -0.07 (-0.16, 0.02)
PUFA 22:5 PhenoAge -0.1296811 0.0488245 -0.2585108 -0.0008514 1771 -0.13 (-0.26, 0)
PUFA 22:5 GrimAge2 -0.0455059 0.1803985 -0.1170089 0.0259970 1771 -0.05 (-0.12, 0.03)
PUFA 22:5 DNAmTL 0.0039215 0.0263017 0.0005953 0.0072478 1771 0 (0, 0.01)
PUFA 22:5 YangCell -0.0096009 0.2030655 -0.0255712 0.0063694 1771 -0.01 (-0.03, 0.01)
PUFA 22:5 DunedinPoAm 0.0034566 0.6838781 -0.0154155 0.0223287 1771 0 (-0.02, 0.02)
PUFA 22:6 Horvath1 -0.1529798 0.0176983 -0.2715043 -0.0344553 1771 -0.15 (-0.27, -0.03)
PUFA 22:6 Horvath2 -0.1047837 0.0179933 -0.1862635 -0.0233039 1771 -0.1 (-0.19, -0.02)
PUFA 22:6 Hannum -0.1810825 0.0109711 -0.3078860 -0.0542791 1771 -0.18 (-0.31, -0.05)
PUFA 22:6 Lin -0.1214425 0.1030791 -0.2736597 0.0307746 1771 -0.12 (-0.27, 0.03)
PUFA 22:6 Zhang -0.0399050 0.0375497 -0.0768682 -0.0029418 1771 -0.04 (-0.08, 0)
PUFA 22:6 VidalBralo -0.1000921 0.0526053 -0.2016169 0.0014327 1771 -0.1 (-0.2, 0)
PUFA 22:6 PhenoAge -0.2053973 0.0082913 -0.3414121 -0.0693826 1771 -0.21 (-0.34, -0.07)
PUFA 22:6 GrimAge2 -0.0336983 0.1983232 -0.0891005 0.0217038 1771 -0.03 (-0.09, 0.02)
PUFA 22:6 DNAmTL 0.0037059 0.0315765 0.0004201 0.0069917 1771 0 (0, 0.01)
PUFA 22:6 YangCell -0.0174201 0.0619188 -0.0359409 0.0011007 1771 -0.02 (-0.04, 0)
PUFA 22:6 DunedinPoAm 0.0047027 0.5900002 -0.0146194 0.0240248 1771 0 (-0.01, 0.02)

Interaction with sex

Primary analyses

# dataframe to store results
fat_res_alcSmkAct_sexInt = data.frame(nutrient = rep(c('Total fat', 'Saturated fat', 'Monounsaturated fat', 'Polyunsaturated fat', 'P:S ratio', 'Omega-3', 'Omega-6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 7),
  p = NA)

# NHANES variable names
vars_fat = c('DRXTTFAT_log2', 'DRXTSFAT_log2', 'DRXTMFAT_log2', 'DRXTPFAT_log2', 'psatfatRatio', 'omega3_log2', 'omega6_log2')
vars_ead = c('HorvathAge', 'SkinBloodAge', 'HannumAge', 'LinAge', 'ZhangAge', 'VidalBraloAge', 'PhenoAge', 'GrimAge2Mort', 'HorvathTelo', 'YangCell_scale', 'DunedinPoAm_scale')

# functions to fill in table
popTable1_sexInt = function(tab, i, j, k){
    # i = EAD variable
    # j = fat variable
    # k = table row
    mod = svyglm(formula(paste0(vars_ead[i], " ~ ", vars_fat[j], "*factor(RIAGENDR) +
        RIDAGEYR + I(RIDAGEYR^2) + factor(RIDRETH1) +
        BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
        factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
        design = nhanesDesign_use, 
        family = gaussian())
    tab[k,3] = summary(mod)$coef[23,4]
    return(tab)
}

popTable2_sexInt = function(tab, vars_fat, vars_ead){
    k = 1
    for (j in 1:length(vars_fat)){
        for (i in 1:length(vars_ead)){
            tab = popTable1_sexInt(tab, i, j, k)
            k = k + 1
        }
    }
    return(tab)
}

fat_res_alcSmkAct_sexInt = popTable2_sexInt(fat_res_alcSmkAct_sexInt, vars_fat, vars_ead)

write.csv(fat_res_alcSmkAct_sexInt, 'fat_res_alcSmkAct_sexInt.csv')
nutrient clock p
Total fat Horvath1 0.6067637
Total fat Horvath2 0.6490660
Total fat Hannum 0.8886131
Total fat Lin 0.7950334
Total fat Zhang 0.3754884
Total fat VidalBralo 0.1187233
Total fat PhenoAge 0.3787310
Total fat GrimAge2 0.2872691
Total fat DNAmTL 0.8577423
Total fat YangCell 0.3768410
Total fat DunedinPoAm 0.4624077
Saturated fat Horvath1 0.4172061
Saturated fat Horvath2 0.2504841
Saturated fat Hannum 0.7584096
Saturated fat Lin 0.5220103
Saturated fat Zhang 0.1796193
Saturated fat VidalBralo 0.2074448
Saturated fat PhenoAge 0.5653681
Saturated fat GrimAge2 0.4771128
Saturated fat DNAmTL 0.5790971
Saturated fat YangCell 0.2371002
Saturated fat DunedinPoAm 0.3896276
Monounsaturated fat Horvath1 0.8686185
Monounsaturated fat Horvath2 0.8451223
Monounsaturated fat Hannum 0.7127280
Monounsaturated fat Lin 0.9611956
Monounsaturated fat Zhang 0.5619003
Monounsaturated fat VidalBralo 0.1197849
Monounsaturated fat PhenoAge 0.2582720
Monounsaturated fat GrimAge2 0.2368331
Monounsaturated fat DNAmTL 0.8767405
Monounsaturated fat YangCell 0.2894760
Monounsaturated fat DunedinPoAm 0.3075176
Polyunsaturated fat Horvath1 0.9718485
Polyunsaturated fat Horvath2 0.3760824
Polyunsaturated fat Hannum 0.7428472
Polyunsaturated fat Lin 0.7578479
Polyunsaturated fat Zhang 0.8210564
Polyunsaturated fat VidalBralo 0.1213662
Polyunsaturated fat PhenoAge 0.4592610
Polyunsaturated fat GrimAge2 0.1780528
Polyunsaturated fat DNAmTL 0.7432926
Polyunsaturated fat YangCell 0.3598273
Polyunsaturated fat DunedinPoAm 0.2033248
P:S ratio Horvath1 0.6378605
P:S ratio Horvath2 0.1811604
P:S ratio Hannum 0.6102786
P:S ratio Lin 0.6089125
P:S ratio Zhang 0.6123126
P:S ratio VidalBralo 0.6499710
P:S ratio PhenoAge 0.3940529
P:S ratio GrimAge2 0.4859180
P:S ratio DNAmTL 0.4003933
P:S ratio YangCell 0.9227175
P:S ratio DunedinPoAm 0.8620777
Omega-3 Horvath1 0.9313769
Omega-3 Horvath2 0.7394551
Omega-3 Hannum 0.7367328
Omega-3 Lin 0.9404485
Omega-3 Zhang 0.3356990
Omega-3 VidalBralo 0.0584009
Omega-3 PhenoAge 0.5814665
Omega-3 GrimAge2 0.2852819
Omega-3 DNAmTL 0.6045505
Omega-3 YangCell 0.4853449
Omega-3 DunedinPoAm 0.6359630
Omega-6 Horvath1 0.9907327
Omega-6 Horvath2 0.3358864
Omega-6 Hannum 0.6617755
Omega-6 Lin 0.6752303
Omega-6 Zhang 0.6957869
Omega-6 VidalBralo 0.1340185
Omega-6 PhenoAge 0.4275045
Omega-6 GrimAge2 0.1881826
Omega-6 DNAmTL 0.6599479
Omega-6 YangCell 0.3358852
Omega-6 DunedinPoAm 0.1795745

Stratified analyses - male

# dataframe to store results
fat_res_alcSmkAct_male = data.frame(nutrient = rep(c('Total fat', 'Saturated fat', 'Monounsaturated fat', 'Polyunsaturated fat', 'P:S ratio', 'Omega-3', 'Omega-6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 7),
  coef = NA, p = NA, CI_L = NA, CI_H = NA, n = NA)

# NHANES variable names
vars_fat = c('DRXTTFAT_log2', 'DRXTSFAT_log2', 'DRXTMFAT_log2', 'DRXTPFAT_log2', 'psatfatRatio', 'omega3_log2', 'omega6_log2')
vars_ead = c('HorvathAge', 'SkinBloodAge', 'HannumAge', 'LinAge', 'ZhangAge', 'VidalBraloAge', 'PhenoAge', 'GrimAge2Mort', 'HorvathTelo', 'YangCell_scale', 'DunedinPoAm_scale')

# functions to fill in table
popTable1_male = function(tab, i, j, k){
    # i = EAD variable
    # j = fat variable
    # k = table row
    mod = svyglm(formula(paste0(vars_ead[i], " ~ ", vars_fat[j], " +
        RIDAGEYR + I(RIDAGEYR^2) + factor(RIDRETH1) +
        BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
        factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
        design = nhanesDesign_male, 
        family = gaussian())
    tab[k,3] = summary(mod)$coef[2,1]
    tab[k,4] = summary(mod)$coef[2,4]
    tab[k,5] = confint(mod)[2,1]
    tab[k,6] = confint(mod)[2,2]
    tab[k,7] = nrow(mod$model)
    return(tab)
}

popTable2_male = function(tab, vars_fat, vars_ead){
    k = 1
    for (j in 1:length(vars_fat)){
        for (i in 1:length(vars_ead)){
            tab = popTable1_male(tab, i, j, k)
            k = k + 1
        }
    }
    return(tab)
}

fat_res_alcSmkAct_male = popTable2_male(fat_res_alcSmkAct_male, vars_fat, vars_ead)

fat_res_alcSmkAct_male$B_CI = paste0(round(fat_res_alcSmkAct_male$coef, 2), ' (', round(fat_res_alcSmkAct_male$CI_L, 2), ', ', round(fat_res_alcSmkAct_male$CI_H, 2), ')')

write.csv(fat_res_alcSmkAct_male, 'fat_res_alcSmkAct_male.csv')
nutrient clock coef p CI_L CI_H n B_CI
Total fat Horvath1 -0.3404000 0.4197220 -1.2511095 0.5703095 952 -0.34 (-1.25, 0.57)
Total fat Horvath2 0.2715930 0.5283711 -0.6652837 1.2084697 952 0.27 (-0.67, 1.21)
Total fat Hannum 0.3558068 0.4299589 -0.6182065 1.3298201 952 0.36 (-0.62, 1.33)
Total fat Lin -0.6590626 0.3090716 -2.0420721 0.7239468 952 -0.66 (-2.04, 0.72)
Total fat Zhang 0.2330226 0.1111501 -0.0654140 0.5314592 952 0.23 (-0.07, 0.53)
Total fat VidalBralo 0.1233472 0.7823332 -0.8568182 1.1035127 952 0.12 (-0.86, 1.1)
Total fat PhenoAge -0.1958391 0.7055528 -1.3315691 0.9398908 952 -0.2 (-1.33, 0.94)
Total fat GrimAge2 0.5453936 0.2210539 -0.3928908 1.4836781 952 0.55 (-0.39, 1.48)
Total fat DNAmTL -0.0139106 0.4600383 -0.0546846 0.0268635 952 -0.01 (-0.05, 0.03)
Total fat YangCell -0.0687745 0.3252387 -0.2182934 0.0807444 952 -0.07 (-0.22, 0.08)
Total fat DunedinPoAm 0.1297063 0.1652921 -0.0645923 0.3240049 952 0.13 (-0.06, 0.32)
Saturated fat Horvath1 0.2024294 0.5649309 -0.5640338 0.9688925 952 0.2 (-0.56, 0.97)
Saturated fat Horvath2 0.6956918 0.0310785 0.0790796 1.3123040 952 0.7 (0.08, 1.31)
Saturated fat Hannum 0.6300263 0.0582227 -0.0271057 1.2871582 952 0.63 (-0.03, 1.29)
Saturated fat Lin -0.1110294 0.8388317 -1.3107314 1.0886727 952 -0.11 (-1.31, 1.09)
Saturated fat Zhang 0.2735206 0.0237003 0.0458404 0.5012007 952 0.27 (0.05, 0.5)
Saturated fat VidalBralo 0.3979958 0.3100190 -0.4389155 1.2349070 952 0.4 (-0.44, 1.23)
Saturated fat PhenoAge 0.3731882 0.4211694 -0.6284774 1.3748539 952 0.37 (-0.63, 1.37)
Saturated fat GrimAge2 0.5381766 0.0924497 -0.1085682 1.1849213 952 0.54 (-0.11, 1.18)
Saturated fat DNAmTL -0.0166545 0.1753029 -0.0422621 0.0089530 952 -0.02 (-0.04, 0.01)
Saturated fat YangCell -0.0456753 0.4118903 -0.1657612 0.0744107 952 -0.05 (-0.17, 0.07)
Saturated fat DunedinPoAm 0.0772615 0.2322265 -0.0591803 0.2137032 952 0.08 (-0.06, 0.21)
Monounsaturated fat Horvath1 -0.5235858 0.2069335 -1.3945233 0.3473517 952 -0.52 (-1.39, 0.35)
Monounsaturated fat Horvath2 0.0922864 0.7944285 -0.6854783 0.8700510 952 0.09 (-0.69, 0.87)
Monounsaturated fat Hannum 0.3827337 0.3387291 -0.4742217 1.2396890 952 0.38 (-0.47, 1.24)
Monounsaturated fat Lin -0.6880315 0.2634630 -1.9929443 0.6168813 952 -0.69 (-1.99, 0.62)
Monounsaturated fat Zhang 0.1298310 0.3290129 -0.1547644 0.4144264 952 0.13 (-0.15, 0.41)
Monounsaturated fat VidalBralo 0.2377659 0.5626864 -0.6572243 1.1327561 952 0.24 (-0.66, 1.13)
Monounsaturated fat PhenoAge -0.0841003 0.8627177 -1.1533253 0.9851246 952 -0.08 (-1.15, 0.99)
Monounsaturated fat GrimAge2 0.4697609 0.1946108 -0.2885095 1.2280314 952 0.47 (-0.29, 1.23)
Monounsaturated fat DNAmTL -0.0181438 0.2906811 -0.0547070 0.0184194 952 -0.02 (-0.05, 0.02)
Monounsaturated fat YangCell -0.0349015 0.5378071 -0.1581675 0.0883644 952 -0.03 (-0.16, 0.09)
Monounsaturated fat DunedinPoAm 0.0998822 0.1813515 -0.0560854 0.2558498 952 0.1 (-0.06, 0.26)
Polyunsaturated fat Horvath1 -0.6345703 0.0523534 -1.2771374 0.0079968 952 -0.63 (-1.28, 0.01)
Polyunsaturated fat Horvath2 -0.4730048 0.1483504 -1.1498252 0.2038155 952 -0.47 (-1.15, 0.2)
Polyunsaturated fat Hannum -0.3253178 0.3118978 -1.0122244 0.3615887 952 -0.33 (-1.01, 0.36)
Polyunsaturated fat Lin -0.7903121 0.0657036 -1.6438920 0.0632678 952 -0.79 (-1.64, 0.06)
Polyunsaturated fat Zhang -0.0517761 0.5867647 -0.2595775 0.1560253 952 -0.05 (-0.26, 0.16)
Polyunsaturated fat VidalBralo -0.3201325 0.2596101 -0.9220424 0.2817774 952 -0.32 (-0.92, 0.28)
Polyunsaturated fat PhenoAge -0.5135960 0.1954908 -1.3444237 0.3172316 952 -0.51 (-1.34, 0.32)
Polyunsaturated fat GrimAge2 -0.0745450 0.7713720 -0.6376224 0.4885324 952 -0.07 (-0.64, 0.49)
Polyunsaturated fat DNAmTL 0.0027592 0.8259244 -0.0248067 0.0303252 952 0 (-0.02, 0.03)
Polyunsaturated fat YangCell -0.0093974 0.8448510 -0.1149418 0.0961469 952 -0.01 (-0.11, 0.1)
Polyunsaturated fat DunedinPoAm 0.0072859 0.8799019 -0.0987446 0.1133164 952 0.01 (-0.1, 0.11)
P:S ratio Horvath1 -0.5813568 0.2800221 -1.7255465 0.5628328 952 -0.58 (-1.73, 0.56)
P:S ratio Horvath2 -0.7668067 0.0828552 -1.6559826 0.1223691 952 -0.77 (-1.66, 0.12)
P:S ratio Hannum -0.5878771 0.1683237 -1.4755568 0.2998026 952 -0.59 (-1.48, 0.3)
P:S ratio Lin -0.4038916 0.5191029 -1.7656557 0.9578726 952 -0.4 (-1.77, 0.96)
P:S ratio Zhang -0.1465116 0.3213131 -0.4623127 0.1692895 952 -0.15 (-0.46, 0.17)
P:S ratio VidalBralo -0.9072750 0.0697245 -1.9046350 0.0900850 952 -0.91 (-1.9, 0.09)
P:S ratio PhenoAge -0.5244095 0.4136860 -1.9086661 0.8598470 952 -0.52 (-1.91, 0.86)
P:S ratio GrimAge2 -0.5582078 0.1177080 -1.2881756 0.1717601 952 -0.56 (-1.29, 0.17)
P:S ratio DNAmTL 0.0090014 0.5800580 -0.0264764 0.0444793 952 0.01 (-0.03, 0.04)
P:S ratio YangCell 0.0577751 0.4358225 -0.1024854 0.2180355 952 0.06 (-0.1, 0.22)
P:S ratio DunedinPoAm -0.0509880 0.4382955 -0.1932140 0.0912381 952 -0.05 (-0.19, 0.09)
Omega-3 Horvath1 -0.6244621 0.0399624 -1.2133005 -0.0356238 952 -0.62 (-1.21, -0.04)
Omega-3 Horvath2 -0.2587715 0.2687451 -0.7554103 0.2378673 952 -0.26 (-0.76, 0.24)
Omega-3 Hannum -0.3014968 0.2869400 -0.9040628 0.3010693 952 -0.3 (-0.9, 0.3)
Omega-3 Lin -0.6122692 0.1884455 -1.5855619 0.3610234 952 -0.61 (-1.59, 0.36)
Omega-3 Zhang 0.0411247 0.5786164 -0.1203365 0.2025858 952 0.04 (-0.12, 0.2)
Omega-3 VidalBralo -0.6352447 0.0382261 -1.2275622 -0.0429271 952 -0.64 (-1.23, -0.04)
Omega-3 PhenoAge -0.6302599 0.1145212 -1.4462107 0.1856909 952 -0.63 (-1.45, 0.19)
Omega-3 GrimAge2 -0.0977532 0.6858089 -0.6268966 0.4313902 952 -0.1 (-0.63, 0.43)
Omega-3 DNAmTL -0.0002512 0.9827113 -0.0257611 0.0252586 952 0 (-0.03, 0.03)
Omega-3 YangCell -0.0272018 0.4878155 -0.1122666 0.0578630 952 -0.03 (-0.11, 0.06)
Omega-3 DunedinPoAm 0.0471867 0.2798627 -0.0456502 0.1400236 952 0.05 (-0.05, 0.14)
Omega-6 Horvath1 -0.6196996 0.0511155 -1.2431204 0.0037212 952 -0.62 (-1.24, 0)
Omega-6 Horvath2 -0.4782390 0.1320372 -1.1314026 0.1749247 952 -0.48 (-1.13, 0.17)
Omega-6 Hannum -0.3339845 0.2979825 -1.0179579 0.3499889 952 -0.33 (-1.02, 0.35)
Omega-6 Lin -0.8301069 0.0521373 -1.6697229 0.0095092 952 -0.83 (-1.67, 0.01)
Omega-6 Zhang -0.0596952 0.5165534 -0.2597121 0.1403217 952 -0.06 (-0.26, 0.14)
Omega-6 VidalBralo -0.2936633 0.3016233 -0.8999009 0.3125743 952 -0.29 (-0.9, 0.31)
Omega-6 PhenoAge -0.4863030 0.2014936 -1.2846292 0.3120231 952 -0.49 (-1.28, 0.31)
Omega-6 GrimAge2 -0.0725807 0.7817327 -0.6477004 0.5025389 952 -0.07 (-0.65, 0.5)
Omega-6 DNAmTL 0.0038471 0.7578240 -0.0235301 0.0312244 952 0 (-0.02, 0.03)
Omega-6 YangCell -0.0041076 0.9291298 -0.1057040 0.0974887 952 0 (-0.11, 0.1)
Omega-6 DunedinPoAm 0.0006856 0.9888204 -0.1069673 0.1083384 952 0 (-0.11, 0.11)

Stratified analyses - female

# dataframe to store results
fat_res_alcSmkAct_female = data.frame(nutrient = rep(c('Total fat', 'Saturated fat', 'Monounsaturated fat', 'Polyunsaturated fat', 'P:S ratio', 'Omega-3', 'Omega-6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 7),
  coef = NA, p = NA, CI_L = NA, CI_H = NA, n = NA)

# NHANES variable names
vars_fat = c('DRXTTFAT_log2', 'DRXTSFAT_log2', 'DRXTMFAT_log2', 'DRXTPFAT_log2', 'psatfatRatio', 'omega3_log2', 'omega6_log2')
vars_ead = c('HorvathAge', 'SkinBloodAge', 'HannumAge', 'LinAge', 'ZhangAge', 'VidalBraloAge', 'PhenoAge', 'GrimAge2Mort', 'HorvathTelo', 'YangCell_scale', 'DunedinPoAm_scale')

# functions to fill in table
popTable1_female = function(tab, i, j, k){
    # i = EAD variable
    # j = fat variable
    # k = table row
    mod = svyglm(formula(paste0(vars_ead[i], " ~ ", vars_fat[j], " +
        RIDAGEYR + I(RIDAGEYR^2) + factor(RIDRETH1) +
        BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
        factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
        design = nhanesDesign_female, 
        family = gaussian())
    tab[k,3] = summary(mod)$coef[2,1]
    tab[k,4] = summary(mod)$coef[2,4]
    tab[k,5] = confint(mod)[2,1]
    tab[k,6] = confint(mod)[2,2]
    tab[k,7] = nrow(mod$model)
    return(tab)
}

popTable2_female = function(tab, vars_fat, vars_ead){
    k = 1
    for (j in 1:length(vars_fat)){
        for (i in 1:length(vars_ead)){
            tab = popTable1_female(tab, i, j, k)
            k = k + 1
        }
    }
    return(tab)
}

fat_res_alcSmkAct_female = popTable2_female(fat_res_alcSmkAct_female, vars_fat, vars_ead)

fat_res_alcSmkAct_female$B_CI = paste0(round(fat_res_alcSmkAct_female$coef, 2), ' (', round(fat_res_alcSmkAct_female$CI_L, 2), ', ', round(fat_res_alcSmkAct_female$CI_H, 2), ')')

write.csv(fat_res_alcSmkAct_female, 'fat_res_alcSmkAct_female.csv')
nutrient clock coef p CI_L CI_H n B_CI
Total fat Horvath1 -0.8101238 0.1757952 -2.0573267 0.4370790 819 -0.81 (-2.06, 0.44)
Total fat Horvath2 -0.3858231 0.3573863 -1.2856000 0.5139539 819 -0.39 (-1.29, 0.51)
Total fat Hannum -0.8703248 0.1436970 -2.0995644 0.3589149 819 -0.87 (-2.1, 0.36)
Total fat Lin -0.5151432 0.5127280 -2.2251816 1.1948952 819 -0.52 (-2.23, 1.19)
Total fat Zhang -0.2204645 0.1845989 -0.5675605 0.1266316 819 -0.22 (-0.57, 0.13)
Total fat VidalBralo -0.0402844 0.9520281 -1.5135005 1.4329316 819 -0.04 (-1.51, 1.43)
Total fat PhenoAge -0.3242905 0.6434950 -1.8564274 1.2078464 819 -0.32 (-1.86, 1.21)
Total fat GrimAge2 0.1008623 0.8037636 -0.7906805 0.9924052 819 0.1 (-0.79, 0.99)
Total fat DNAmTL 0.0116521 0.5600993 -0.0319137 0.0552178 819 0.01 (-0.03, 0.06)
Total fat YangCell -0.0380943 0.6290026 -0.2104101 0.1342214 819 -0.04 (-0.21, 0.13)
Total fat DunedinPoAm -0.0237408 0.7327218 -0.1761825 0.1287010 819 -0.02 (-0.18, 0.13)
Saturated fat Horvath1 -0.1691938 0.6033927 -0.8801491 0.5417615 819 -0.17 (-0.88, 0.54)
Saturated fat Horvath2 -0.2672648 0.3236664 -0.8463174 0.3117877 819 -0.27 (-0.85, 0.31)
Saturated fat Hannum -0.2535320 0.5195196 -1.1092163 0.6021524 819 -0.25 (-1.11, 0.6)
Saturated fat Lin -0.3249816 0.5134934 -1.4057815 0.7558183 819 -0.32 (-1.41, 0.76)
Saturated fat Zhang -0.1234302 0.2559940 -0.3536127 0.1067522 819 -0.12 (-0.35, 0.11)
Saturated fat VidalBralo 0.2253878 0.5848901 -0.6746056 1.1253812 819 0.23 (-0.67, 1.13)
Saturated fat PhenoAge 0.1530517 0.7931807 -1.1288336 1.4349369 819 0.15 (-1.13, 1.43)
Saturated fat GrimAge2 0.0994519 0.7283915 -0.5284763 0.7273801 819 0.1 (-0.53, 0.73)
Saturated fat DNAmTL 0.0168993 0.1988345 -0.0106635 0.0444621 819 0.02 (-0.01, 0.04)
Saturated fat YangCell -0.0753305 0.2340625 -0.2089304 0.0582694 819 -0.08 (-0.21, 0.06)
Saturated fat DunedinPoAm 0.0244171 0.6984617 -0.1136602 0.1624943 819 0.02 (-0.11, 0.16)
Monounsaturated fat Horvath1 -0.5121956 0.3083122 -1.5852228 0.5608316 819 -0.51 (-1.59, 0.56)
Monounsaturated fat Horvath2 -0.2004656 0.4967291 -0.8407651 0.4398339 819 -0.2 (-0.84, 0.44)
Monounsaturated fat Hannum -0.3795011 0.3929789 -1.3363559 0.5773537 819 -0.38 (-1.34, 0.58)
Monounsaturated fat Lin -0.2568472 0.6723269 -1.5860758 1.0723814 819 -0.26 (-1.59, 1.07)
Monounsaturated fat Zhang -0.1563287 0.2418432 -0.4386042 0.1259467 819 -0.16 (-0.44, 0.13)
Monounsaturated fat VidalBralo 0.2844612 0.6229878 -0.9797453 1.5486678 819 0.28 (-0.98, 1.55)
Monounsaturated fat PhenoAge 0.3499990 0.5273504 -0.8542923 1.5542904 819 0.35 (-0.85, 1.55)
Monounsaturated fat GrimAge2 0.2582221 0.4248974 -0.4406719 0.9571160 819 0.26 (-0.44, 0.96)
Monounsaturated fat DNAmTL -0.0015852 0.9225072 -0.0374312 0.0342608 819 0 (-0.04, 0.03)
Monounsaturated fat YangCell -0.0308138 0.6420156 -0.1757417 0.1141140 819 -0.03 (-0.18, 0.11)
Monounsaturated fat DunedinPoAm 0.0490010 0.4897858 -0.1049493 0.2029513 819 0.05 (-0.1, 0.2)
Polyunsaturated fat Horvath1 -0.6667833 0.1030390 -1.4981854 0.1646187 819 -0.67 (-1.5, 0.16)
Polyunsaturated fat Horvath2 -0.1669943 0.5352088 -0.7529556 0.4189669 819 -0.17 (-0.75, 0.42)
Polyunsaturated fat Hannum -0.8887346 0.0362111 -1.7062877 -0.0711816 819 -0.89 (-1.71, -0.07)
Polyunsaturated fat Lin -0.4002243 0.4025355 -1.4308535 0.6304050 819 -0.4 (-1.43, 0.63)
Polyunsaturated fat Zhang -0.0986587 0.3237381 -0.3124447 0.1151274 819 -0.1 (-0.31, 0.12)
Polyunsaturated fat VidalBralo -0.3124127 0.4313745 -1.1703624 0.5455370 819 -0.31 (-1.17, 0.55)
Polyunsaturated fat PhenoAge -0.6933506 0.1118876 -1.5834526 0.1967515 819 -0.69 (-1.58, 0.2)
Polyunsaturated fat GrimAge2 -0.2021536 0.4446588 -0.7742317 0.3699245 819 -0.2 (-0.77, 0.37)
Polyunsaturated fat DNAmTL -0.0018226 0.8969672 -0.0327760 0.0291309 819 0 (-0.03, 0.03)
Polyunsaturated fat YangCell -0.0340726 0.5410187 -0.1553887 0.0872435 819 -0.03 (-0.16, 0.09)
Polyunsaturated fat DunedinPoAm -0.0170582 0.7837249 -0.1535082 0.1193918 819 -0.02 (-0.15, 0.12)
P:S ratio Horvath1 -1.1130652 0.0145010 -1.9470715 -0.2790588 819 -1.11 (-1.95, -0.28)
P:S ratio Horvath2 -0.2503538 0.4323715 -0.9394213 0.4387137 819 -0.25 (-0.94, 0.44)
P:S ratio Hannum -1.1077804 0.0322549 -2.0984285 -0.1171323 819 -1.11 (-2.1, -0.12)
P:S ratio Lin -0.3308374 0.5316333 -1.4813778 0.8197030 819 -0.33 (-1.48, 0.82)
P:S ratio Zhang -0.1336654 0.2066318 -0.3558439 0.0885131 819 -0.13 (-0.36, 0.09)
P:S ratio VidalBralo -0.6800984 0.1588013 -1.6814184 0.3212216 819 -0.68 (-1.68, 0.32)
P:S ratio PhenoAge -1.5037690 0.0313112 -2.8389821 -0.1685560 819 -1.5 (-2.84, -0.17)
P:S ratio GrimAge2 -0.3981412 0.2437522 -1.1202028 0.3239205 819 -0.4 (-1.12, 0.32)
P:S ratio DNAmTL -0.0049574 0.7846323 -0.0447841 0.0348693 819 0 (-0.04, 0.03)
P:S ratio YangCell 0.0302778 0.6972625 -0.1402221 0.2007778 819 0.03 (-0.14, 0.2)
P:S ratio DunedinPoAm -0.0583256 0.4620430 -0.2300778 0.1134267 819 -0.06 (-0.23, 0.11)
Omega-3 Horvath1 -0.5867292 0.0377513 -1.1320965 -0.0413619 819 -0.59 (-1.13, -0.04)
Omega-3 Horvath2 -0.2250786 0.3022237 -0.6903442 0.2401870 819 -0.23 (-0.69, 0.24)
Omega-3 Hannum -1.0363191 0.0077807 -1.7243122 -0.3483260 819 -1.04 (-1.72, -0.35)
Omega-3 Lin -0.4493382 0.2359637 -1.2497638 0.3510875 819 -0.45 (-1.25, 0.35)
Omega-3 Zhang -0.1619766 0.0659027 -0.3370759 0.0131228 819 -0.16 (-0.34, 0.01)
Omega-3 VidalBralo -0.3079473 0.3316526 -0.9868840 0.3709895 819 -0.31 (-0.99, 0.37)
Omega-3 PhenoAge -0.9005597 0.0166831 -1.5952078 -0.2059117 819 -0.9 (-1.6, -0.21)
Omega-3 GrimAge2 -0.3193272 0.1649542 -0.7972492 0.1585948 819 -0.32 (-0.8, 0.16)
Omega-3 DNAmTL 0.0243001 0.0543708 -0.0005641 0.0491644 819 0.02 (0, 0.05)
Omega-3 YangCell -0.0231610 0.5951026 -0.1182648 0.0719428 819 -0.02 (-0.12, 0.07)
Omega-3 DunedinPoAm -0.0390772 0.4457142 -0.1499279 0.0717736 819 -0.04 (-0.15, 0.07)
Omega-6 Horvath1 -0.6195298 0.1283914 -1.4565697 0.2175102 819 -0.62 (-1.46, 0.22)
Omega-6 Horvath2 -0.1321335 0.6273136 -0.7268555 0.4625884 819 -0.13 (-0.73, 0.46)
Omega-6 Hannum -0.7974253 0.0496533 -1.5933528 -0.0014978 819 -0.8 (-1.59, 0)
Omega-6 Lin -0.3438145 0.4715473 -1.3787660 0.6911371 819 -0.34 (-1.38, 0.69)
Omega-6 Zhang -0.0713282 0.4676365 -0.2841011 0.1414447 819 -0.07 (-0.28, 0.14)
Omega-6 VidalBralo -0.2930781 0.4529311 -1.1382480 0.5520918 819 -0.29 (-1.14, 0.55)
Omega-6 PhenoAge -0.6094791 0.1429093 -1.4683903 0.2494322 819 -0.61 (-1.47, 0.25)
Omega-6 GrimAge2 -0.1856138 0.4752395 -0.7491736 0.3779461 819 -0.19 (-0.75, 0.38)
Omega-6 DNAmTL -0.0056750 0.6834587 -0.0361506 0.0248007 819 -0.01 (-0.04, 0.02)
Omega-6 YangCell -0.0333838 0.5453005 -0.1535440 0.0867764 819 -0.03 (-0.15, 0.09)
Omega-6 DunedinPoAm -0.0131491 0.8335729 -0.1506646 0.1243664 819 -0.01 (-0.15, 0.12)

Associations with individual fatty acids

# dataframe to store results
subtypes_res_sexInt = data.frame(nutrient = rep(c('SFA 4:0', 'SFA 6:0', 'SFA 8:0', 'SFA 10:0', 'SFA 12:0', 'SFA 14:0', 'SFA 16:0', 'SFA 18:0',
                            'MUFA 16:1', 'MUFA 18:1', 'MUFA 20:1', 'MUFA 22:1',
                            'PUFA 18:2', 'PUFA 20:4', 'PUFA 18:3', 'PUFA 20:5', 'PUFA 22:5', 'PUFA 22:6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 18),
  p = NA)

# NHANES variable names
vars_ead = c("HorvathAge", "SkinBloodAge", "HannumAge", "LinAge", "ZhangAge", "VidalBraloAge", "PhenoAge", "GrimAge2Mort", "HorvathTelo", "YangCell_scale", "DunedinPoAm_scale")
subtypes = c("DRXTS040_log2", "DRXTS060_log2", "DRXTS080_log2", "DRXTS100_log2", "DRXTS120_log2", "DRXTS140_log2", "DRXTS160_log2", "DRXTS180_log2", "DRXTM161_log2", 
        "DRXTM181_log2", "DRXTM201_log2", "DRXTM221_log2", "DRXTP182_log2", "DRXTP204_log2", "DRXTP183_log2", "DRXTP205_log2", "DRXTP225_log2", "DRXTP226_log2")

# functions to fill in table
popTable1_subtypes_sexInt = function(tab, i, j, k){
    # i = EAD variable
    # j = fat variable
    # k = table row
    mod = svyglm(formula(paste0(vars_ead[i], " ~ ", subtypes[j], "*factor(RIAGENDR) +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian())
    tab[k,3] = summary(mod)$coef[23,4]
    return(tab)
}

popTable2_subtypes_sexInt = function(tab, subtypes, vars_ead){
    k = 1
    for (j in 1:length(subtypes)){
        for (i in 1:length(vars_ead)){
            tab = popTable1_subtypes_sexInt(tab, i, j, k)
            k = k + 1
        }
    }
    return(tab)
}

subtypes_res_sexInt = popTable2_subtypes_sexInt(subtypes_res_sexInt, subtypes, vars_ead)

write.csv(subtypes_res_sexInt, 'subtypes_res_sexInt.csv')
nutrient clock p
SFA 4:0 Horvath1 0.3445673
SFA 4:0 Horvath2 0.1475117
SFA 4:0 Hannum 0.4330198
SFA 4:0 Lin 0.4780219
SFA 4:0 Zhang 0.1109668
SFA 4:0 VidalBralo 0.4654798
SFA 4:0 PhenoAge 0.9494580
SFA 4:0 GrimAge2 0.9332097
SFA 4:0 DNAmTL 0.1041489
SFA 4:0 YangCell 0.6950601
SFA 4:0 DunedinPoAm 0.6427629
SFA 6:0 Horvath1 0.4205515
SFA 6:0 Horvath2 0.1075808
SFA 6:0 Hannum 0.7047285
SFA 6:0 Lin 0.6920761
SFA 6:0 Zhang 0.0667321
SFA 6:0 VidalBralo 0.4102334
SFA 6:0 PhenoAge 0.5969024
SFA 6:0 GrimAge2 0.7218738
SFA 6:0 DNAmTL 0.4152631
SFA 6:0 YangCell 0.9822492
SFA 6:0 DunedinPoAm 0.5094147
SFA 8:0 Horvath1 0.2572810
SFA 8:0 Horvath2 0.0856458
SFA 8:0 Hannum 0.3006167
SFA 8:0 Lin 0.8282039
SFA 8:0 Zhang 0.1245569
SFA 8:0 VidalBralo 0.3121120
SFA 8:0 PhenoAge 0.8017223
SFA 8:0 GrimAge2 0.6955434
SFA 8:0 DNAmTL 0.3057596
SFA 8:0 YangCell 0.1602095
SFA 8:0 DunedinPoAm 0.6530076
SFA 10:0 Horvath1 0.3294111
SFA 10:0 Horvath2 0.0913935
SFA 10:0 Hannum 0.5281895
SFA 10:0 Lin 0.3039457
SFA 10:0 Zhang 0.0574072
SFA 10:0 VidalBralo 0.6275704
SFA 10:0 PhenoAge 0.9618705
SFA 10:0 GrimAge2 0.8204105
SFA 10:0 DNAmTL 0.2710602
SFA 10:0 YangCell 0.4141477
SFA 10:0 DunedinPoAm 0.8195533
SFA 12:0 Horvath1 0.5684516
SFA 12:0 Horvath2 0.1221310
SFA 12:0 Hannum 0.4662645
SFA 12:0 Lin 0.9367957
SFA 12:0 Zhang 0.1321197
SFA 12:0 VidalBralo 0.2289585
SFA 12:0 PhenoAge 0.4703455
SFA 12:0 GrimAge2 0.3884460
SFA 12:0 DNAmTL 0.7177400
SFA 12:0 YangCell 0.0655538
SFA 12:0 DunedinPoAm 0.6412702
SFA 14:0 Horvath1 0.3676147
SFA 14:0 Horvath2 0.1338889
SFA 14:0 Hannum 0.5787703
SFA 14:0 Lin 0.2263256
SFA 14:0 Zhang 0.0995346
SFA 14:0 VidalBralo 0.3635039
SFA 14:0 PhenoAge 0.7248028
SFA 14:0 GrimAge2 0.7390649
SFA 14:0 DNAmTL 0.2587237
SFA 14:0 YangCell 0.2375419
SFA 14:0 DunedinPoAm 0.5170574
SFA 16:0 Horvath1 0.5782149
SFA 16:0 Horvath2 0.3911071
SFA 16:0 Hannum 0.9580656
SFA 16:0 Lin 0.6946366
SFA 16:0 Zhang 0.3134003
SFA 16:0 VidalBralo 0.1651676
SFA 16:0 PhenoAge 0.4853862
SFA 16:0 GrimAge2 0.5096121
SFA 16:0 DNAmTL 0.7658727
SFA 16:0 YangCell 0.2967775
SFA 16:0 DunedinPoAm 0.3918223
SFA 18:0 Horvath1 0.5504023
SFA 18:0 Horvath2 0.3183319
SFA 18:0 Hannum 0.8110608
SFA 18:0 Lin 0.5286643
SFA 18:0 Zhang 0.1917628
SFA 18:0 VidalBralo 0.2104773
SFA 18:0 PhenoAge 0.4995991
SFA 18:0 GrimAge2 0.4909264
SFA 18:0 DNAmTL 0.4896668
SFA 18:0 YangCell 0.3404071
SFA 18:0 DunedinPoAm 0.3932820
MUFA 16:1 Horvath1 0.9035067
MUFA 16:1 Horvath2 0.7252084
MUFA 16:1 Hannum 0.6487766
MUFA 16:1 Lin 0.9535059
MUFA 16:1 Zhang 0.9495323
MUFA 16:1 VidalBralo 0.3475859
MUFA 16:1 PhenoAge 0.2633346
MUFA 16:1 GrimAge2 0.4091584
MUFA 16:1 DNAmTL 0.8665061
MUFA 16:1 YangCell 0.5731857
MUFA 16:1 DunedinPoAm 0.3234921
MUFA 18:1 Horvath1 0.8810524
MUFA 18:1 Horvath2 0.9059817
MUFA 18:1 Hannum 0.6487693
MUFA 18:1 Lin 0.9477775
MUFA 18:1 Zhang 0.5782983
MUFA 18:1 VidalBralo 0.1176596
MUFA 18:1 PhenoAge 0.2419711
MUFA 18:1 GrimAge2 0.2460999
MUFA 18:1 DNAmTL 0.8896380
MUFA 18:1 YangCell 0.2806710
MUFA 18:1 DunedinPoAm 0.3140945
MUFA 20:1 Horvath1 0.6694374
MUFA 20:1 Horvath2 0.5133554
MUFA 20:1 Hannum 0.6246056
MUFA 20:1 Lin 0.8130976
MUFA 20:1 Zhang 0.9748328
MUFA 20:1 VidalBralo 0.9258879
MUFA 20:1 PhenoAge 0.4046842
MUFA 20:1 GrimAge2 0.4104836
MUFA 20:1 DNAmTL 0.7223080
MUFA 20:1 YangCell 0.4152660
MUFA 20:1 DunedinPoAm 0.2826837
MUFA 22:1 Horvath1 0.3676922
MUFA 22:1 Horvath2 0.9177691
MUFA 22:1 Hannum 0.6993166
MUFA 22:1 Lin 0.4392148
MUFA 22:1 Zhang 0.8591609
MUFA 22:1 VidalBralo 0.8254567
MUFA 22:1 PhenoAge 0.2271961
MUFA 22:1 GrimAge2 0.2995129
MUFA 22:1 DNAmTL 0.9000863
MUFA 22:1 YangCell 0.1632196
MUFA 22:1 DunedinPoAm 0.3435950
PUFA 18:2 Horvath1 0.9861546
PUFA 18:2 Horvath2 0.3327623
PUFA 18:2 Hannum 0.6623937
PUFA 18:2 Lin 0.6857845
PUFA 18:2 Zhang 0.6946732
PUFA 18:2 VidalBralo 0.1373752
PUFA 18:2 PhenoAge 0.4338301
PUFA 18:2 GrimAge2 0.1914092
PUFA 18:2 DNAmTL 0.6549157
PUFA 18:2 YangCell 0.3302279
PUFA 18:2 DunedinPoAm 0.1774442
PUFA 20:4 Horvath1 0.8844797
PUFA 20:4 Horvath2 0.7964122
PUFA 20:4 Hannum 0.4636642
PUFA 20:4 Lin 0.2323567
PUFA 20:4 Zhang 0.8229421
PUFA 20:4 VidalBralo 0.8611575
PUFA 20:4 PhenoAge 0.2202833
PUFA 20:4 GrimAge2 0.6338312
PUFA 20:4 DNAmTL 0.8923361
PUFA 20:4 YangCell 0.6415804
PUFA 20:4 DunedinPoAm 0.5112594
PUFA 18:3 Horvath1 0.9774029
PUFA 18:3 Horvath2 0.9649362
PUFA 18:3 Hannum 0.7730777
PUFA 18:3 Lin 0.9086781
PUFA 18:3 Zhang 0.3023284
PUFA 18:3 VidalBralo 0.0870364
PUFA 18:3 PhenoAge 0.4686465
PUFA 18:3 GrimAge2 0.3246897
PUFA 18:3 DNAmTL 0.7827405
PUFA 18:3 YangCell 0.4213858
PUFA 18:3 DunedinPoAm 0.4404757
PUFA 20:5 Horvath1 0.4438446
PUFA 20:5 Horvath2 0.2271237
PUFA 20:5 Hannum 0.5212573
PUFA 20:5 Lin 0.8484463
PUFA 20:5 Zhang 0.5256270
PUFA 20:5 VidalBralo 0.2295399
PUFA 20:5 PhenoAge 0.8867630
PUFA 20:5 GrimAge2 0.8379242
PUFA 20:5 DNAmTL 0.5254133
PUFA 20:5 YangCell 0.3101918
PUFA 20:5 DunedinPoAm 0.7412640
PUFA 22:5 Horvath1 0.6851782
PUFA 22:5 Horvath2 0.2793731
PUFA 22:5 Hannum 0.4665826
PUFA 22:5 Lin 0.8907928
PUFA 22:5 Zhang 0.7089443
PUFA 22:5 VidalBralo 0.6091776
PUFA 22:5 PhenoAge 0.7208012
PUFA 22:5 GrimAge2 0.9928404
PUFA 22:5 DNAmTL 0.4354099
PUFA 22:5 YangCell 0.1628701
PUFA 22:5 DunedinPoAm 0.5353781
PUFA 22:6 Horvath1 0.3637890
PUFA 22:6 Horvath2 0.2418147
PUFA 22:6 Hannum 0.2698123
PUFA 22:6 Lin 0.1332951
PUFA 22:6 Zhang 0.2822182
PUFA 22:6 VidalBralo 0.2175572
PUFA 22:6 PhenoAge 0.5507195
PUFA 22:6 GrimAge2 0.9640465
PUFA 22:6 DNAmTL 0.7397228
PUFA 22:6 YangCell 0.4914307
PUFA 22:6 DunedinPoAm 0.9380648

Stratified analyses - male

# dataframe to store results
subtypes_res_male = data.frame(nutrient = rep(c('SFA 4:0', 'SFA 6:0', 'SFA 8:0', 'SFA 10:0', 'SFA 12:0', 'SFA 14:0', 'SFA 16:0', 'SFA 18:0',
                            'MUFA 16:1', 'MUFA 18:1', 'MUFA 20:1', 'MUFA 22:1',
                            'PUFA 18:2', 'PUFA 20:4', 'PUFA 18:3', 'PUFA 20:5', 'PUFA 22:5', 'PUFA 22:6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 18),
  coef = NA, p = NA, CI_L = NA, CI_H = NA, n = NA)

# NHANES variable names
vars_ead = c("HorvathAge", "SkinBloodAge", "HannumAge", "LinAge", "ZhangAge", "VidalBraloAge", "PhenoAge", "GrimAge2Mort", "HorvathTelo", "YangCell_scale", "DunedinPoAm_scale")
subtypes = c("DRXTS040_log2", "DRXTS060_log2", "DRXTS080_log2", "DRXTS100_log2", "DRXTS120_log2", "DRXTS140_log2", "DRXTS160_log2", "DRXTS180_log2", "DRXTM161_log2", 
        "DRXTM181_log2", "DRXTM201_log2", "DRXTM221_log2", "DRXTP182_log2", "DRXTP204_log2", "DRXTP183_log2", "DRXTP205_log2", "DRXTP225_log2", "DRXTP226_log2")

# functions to fill in table
popTable1_subtypes_male = function(tab, i, j, k){
    # i = EAD variable
    # j = fat variable
    # k = table row
    mod = svyglm(formula(paste0(vars_ead[i], " ~ ", subtypes[j], " +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_male, 
            family = gaussian())
    tab[k,3] = summary(mod)$coef[2,1]
    tab[k,4] = summary(mod)$coef[2,4]
    tab[k,5] = confint(mod)[2,1]
    tab[k,6] = confint(mod)[2,2]
    tab[k,7] = nrow(mod$model)
    return(tab)
}

popTable2_subtypes_male = function(tab, subtypes, vars_ead){
    k = 1
    for (j in 1:length(subtypes)){
        for (i in 1:length(vars_ead)){
            tab = popTable1_subtypes_male(tab, i, j, k)
            k = k + 1
        }
    }
    return(tab)
}

subtypes_res_male = popTable2_subtypes_male(subtypes_res_male, subtypes, vars_ead)

subtypes_res_male$B_CI = paste0(round(subtypes_res_male$coef, 2), ' (', round(subtypes_res_male$CI_L, 2), ', ', round(subtypes_res_male$CI_H, 2), ')')

write.csv(subtypes_res_male, 'subtypes_res_male.csv')
nutrient clock coef p CI_L CI_H n B_CI
SFA 4:0 Horvath1 0.0710569 0.2539632 -0.0608470 0.2029609 952 0.07 (-0.06, 0.2)
SFA 4:0 Horvath2 0.0852555 0.0839326 -0.0140148 0.1845258 952 0.09 (-0.01, 0.18)
SFA 4:0 Hannum 0.0908631 0.1651606 -0.0452016 0.2269279 952 0.09 (-0.05, 0.23)
SFA 4:0 Lin 0.0084676 0.9457715 -0.2654135 0.2823486 952 0.01 (-0.27, 0.28)
SFA 4:0 Zhang 0.0309677 0.1221682 -0.0100920 0.0720274 952 0.03 (-0.01, 0.07)
SFA 4:0 VidalBralo 0.0633703 0.3578837 -0.0845761 0.2113167 952 0.06 (-0.08, 0.21)
SFA 4:0 PhenoAge 0.0704813 0.3271995 -0.0834061 0.2243687 952 0.07 (-0.08, 0.22)
SFA 4:0 GrimAge2 0.0525781 0.3771106 -0.0754459 0.1806022 952 0.05 (-0.08, 0.18)
SFA 4:0 DNAmTL -0.0042985 0.0593390 -0.0088063 0.0002092 952 0 (-0.01, 0)
SFA 4:0 YangCell -0.0076829 0.4783838 -0.0311818 0.0158160 952 -0.01 (-0.03, 0.02)
SFA 4:0 DunedinPoAm 0.0079150 0.3372311 -0.0097491 0.0255791 952 0.01 (-0.01, 0.03)
SFA 6:0 Horvath1 0.0554592 0.4204554 -0.0931601 0.2040784 952 0.06 (-0.09, 0.2)
SFA 6:0 Horvath2 0.0920214 0.1018372 -0.0222527 0.2062955 952 0.09 (-0.02, 0.21)
SFA 6:0 Hannum 0.0741431 0.2749316 -0.0701356 0.2184218 952 0.07 (-0.07, 0.22)
SFA 6:0 Lin -0.0231444 0.8620097 -0.3158673 0.2695785 952 -0.02 (-0.32, 0.27)
SFA 6:0 Zhang 0.0276069 0.2043666 -0.0180306 0.0732445 952 0.03 (-0.02, 0.07)
SFA 6:0 VidalBralo 0.0733512 0.3122471 -0.0816480 0.2283504 952 0.07 (-0.08, 0.23)
SFA 6:0 PhenoAge 0.0482649 0.5052609 -0.1090825 0.2056123 952 0.05 (-0.11, 0.21)
SFA 6:0 GrimAge2 0.0572132 0.3588238 -0.0766331 0.1910595 952 0.06 (-0.08, 0.19)
SFA 6:0 DNAmTL -0.0024108 0.2773499 -0.0071273 0.0023058 952 0 (-0.01, 0)
SFA 6:0 YangCell -0.0098859 0.4546739 -0.0385085 0.0187367 952 -0.01 (-0.04, 0.02)
SFA 6:0 DunedinPoAm 0.0055455 0.5698792 -0.0157267 0.0268178 952 0.01 (-0.02, 0.03)
SFA 8:0 Horvath1 0.0873106 0.2315805 -0.0666463 0.2412676 952 0.09 (-0.07, 0.24)
SFA 8:0 Horvath2 0.0943410 0.0677131 -0.0084644 0.1971464 952 0.09 (-0.01, 0.2)
SFA 8:0 Hannum 0.0587656 0.3841813 -0.0865621 0.2040933 952 0.06 (-0.09, 0.2)
SFA 8:0 Lin -0.0377051 0.8218810 -0.4056792 0.3302689 952 -0.04 (-0.41, 0.33)
SFA 8:0 Zhang 0.0209049 0.3081421 -0.0228736 0.0646835 952 0.02 (-0.02, 0.06)
SFA 8:0 VidalBralo 0.0666349 0.3342223 -0.0811028 0.2143727 952 0.07 (-0.08, 0.21)
SFA 8:0 PhenoAge -0.0196336 0.8261916 -0.2160893 0.1768221 952 -0.02 (-0.22, 0.18)
SFA 8:0 GrimAge2 0.0426299 0.5372004 -0.1077019 0.1929617 952 0.04 (-0.11, 0.19)
SFA 8:0 DNAmTL -0.0013336 0.6091661 -0.0070292 0.0043621 952 0 (-0.01, 0)
SFA 8:0 YangCell -0.0053830 0.6735350 -0.0333518 0.0225857 952 -0.01 (-0.03, 0.02)
SFA 8:0 DunedinPoAm 0.0073201 0.5163479 -0.0171945 0.0318346 952 0.01 (-0.02, 0.03)
SFA 10:0 Horvath1 0.0909298 0.3640883 -0.1242554 0.3061150 952 0.09 (-0.12, 0.31)
SFA 10:0 Horvath2 0.1333074 0.0902287 -0.0256075 0.2922223 952 0.13 (-0.03, 0.29)
SFA 10:0 Hannum 0.0577331 0.4696397 -0.1152871 0.2307533 952 0.06 (-0.12, 0.23)
SFA 10:0 Lin -0.0298326 0.8742020 -0.4441302 0.3844651 952 -0.03 (-0.44, 0.38)
SFA 10:0 Zhang 0.0410767 0.1790330 -0.0226881 0.1048414 952 0.04 (-0.02, 0.1)
SFA 10:0 VidalBralo 0.0956345 0.3800020 -0.1387101 0.3299791 952 0.1 (-0.14, 0.33)
SFA 10:0 PhenoAge 0.0515856 0.6807617 -0.2229392 0.3261103 952 0.05 (-0.22, 0.33)
SFA 10:0 GrimAge2 0.1092423 0.2086477 -0.0732242 0.2917087 952 0.11 (-0.07, 0.29)
SFA 10:0 DNAmTL -0.0011754 0.7167454 -0.0082767 0.0059258 952 0 (-0.01, 0.01)
SFA 10:0 YangCell -0.0173516 0.2291664 -0.0477764 0.0130733 952 -0.02 (-0.05, 0.01)
SFA 10:0 DunedinPoAm 0.0264994 0.1001747 -0.0062219 0.0592206 952 0.03 (-0.01, 0.06)
SFA 12:0 Horvath1 0.0471653 0.6388276 -0.1725360 0.2668666 952 0.05 (-0.17, 0.27)
SFA 12:0 Horvath2 0.1500357 0.1091471 -0.0408721 0.3409436 952 0.15 (-0.04, 0.34)
SFA 12:0 Hannum 0.0446745 0.6399442 -0.1641281 0.2534772 952 0.04 (-0.16, 0.25)
SFA 12:0 Lin -0.1762711 0.4863828 -0.7256395 0.3730973 952 -0.18 (-0.73, 0.37)
SFA 12:0 Zhang 0.0363000 0.2395870 -0.0289059 0.1015058 952 0.04 (-0.03, 0.1)
SFA 12:0 VidalBralo 0.0139983 0.9124392 -0.2660042 0.2940008 952 0.01 (-0.27, 0.29)
SFA 12:0 PhenoAge -0.1289546 0.3816270 -0.4460762 0.1881671 952 -0.13 (-0.45, 0.19)
SFA 12:0 GrimAge2 0.0640888 0.5418772 -0.1645962 0.2927738 952 0.06 (-0.16, 0.29)
SFA 12:0 DNAmTL 0.0017164 0.6759242 -0.0072719 0.0107047 952 0 (-0.01, 0.01)
SFA 12:0 YangCell -0.0102201 0.6355953 -0.0573659 0.0369256 952 -0.01 (-0.06, 0.04)
SFA 12:0 DunedinPoAm 0.0203004 0.2842759 -0.0200328 0.0606336 952 0.02 (-0.02, 0.06)
SFA 14:0 Horvath1 0.1720250 0.3386622 -0.2130894 0.5571394 952 0.17 (-0.21, 0.56)
SFA 14:0 Horvath2 0.3124745 0.0426427 0.0128796 0.6120693 952 0.31 (0.01, 0.61)
SFA 14:0 Hannum 0.2094242 0.1583989 -0.0985809 0.5174293 952 0.21 (-0.1, 0.52)
SFA 14:0 Lin 0.0254109 0.9311694 -0.6217741 0.6725959 952 0.03 (-0.62, 0.67)
SFA 14:0 Zhang 0.1007489 0.0699071 -0.0100906 0.2115883 952 0.1 (-0.01, 0.21)
SFA 14:0 VidalBralo 0.1549549 0.4664704 -0.3060316 0.6159414 952 0.15 (-0.31, 0.62)
SFA 14:0 PhenoAge 0.0945395 0.6751432 -0.3992681 0.5883471 952 0.09 (-0.4, 0.59)
SFA 14:0 GrimAge2 0.1935597 0.2228715 -0.1408658 0.5279852 952 0.19 (-0.14, 0.53)
SFA 14:0 DNAmTL -0.0020457 0.7327002 -0.0151803 0.0110889 952 0 (-0.02, 0.01)
SFA 14:0 YangCell -0.0340940 0.2703931 -0.0997698 0.0315818 952 -0.03 (-0.1, 0.03)
SFA 14:0 DunedinPoAm 0.0279313 0.3386207 -0.0345931 0.0904557 952 0.03 (-0.03, 0.09)
SFA 16:0 Horvath1 0.0696720 0.8653920 -0.8339190 0.9732629 952 0.07 (-0.83, 0.97)
SFA 16:0 Horvath2 0.6999673 0.0656927 -0.0559984 1.4559331 952 0.7 (-0.06, 1.46)
SFA 16:0 Hannum 0.7626052 0.0782989 -0.1060396 1.6312500 952 0.76 (-0.11, 1.63)
SFA 16:0 Lin -0.1709355 0.7999428 -1.6522989 1.3104278 952 -0.17 (-1.65, 1.31)
SFA 16:0 Zhang 0.3013547 0.0365593 0.0234775 0.5792320 952 0.3 (0.02, 0.58)
SFA 16:0 VidalBralo 0.3855643 0.3537573 -0.5065125 1.2776411 952 0.39 (-0.51, 1.28)
SFA 16:0 PhenoAge 0.4983180 0.3456733 -0.6344716 1.6311076 952 0.5 (-0.63, 1.63)
SFA 16:0 GrimAge2 0.7107730 0.0753768 -0.0893269 1.5108728 952 0.71 (-0.09, 1.51)
SFA 16:0 DNAmTL -0.0191708 0.2414575 -0.0537559 0.0154143 952 -0.02 (-0.05, 0.02)
SFA 16:0 YangCell -0.0414280 0.5075417 -0.1772319 0.0943759 952 -0.04 (-0.18, 0.09)
SFA 16:0 DunedinPoAm 0.1077991 0.1726191 -0.0568057 0.2724038 952 0.11 (-0.06, 0.27)
SFA 18:0 Horvath1 0.0391235 0.9126011 -0.7449040 0.8231509 952 0.04 (-0.74, 0.82)
SFA 18:0 Horvath2 0.5827615 0.0652277 -0.0453089 1.2108319 952 0.58 (-0.05, 1.21)
SFA 18:0 Hannum 0.5796250 0.0635638 -0.0403636 1.1996136 952 0.58 (-0.04, 1.2)
SFA 18:0 Lin -0.1180794 0.7853604 -1.0700168 0.8338581 952 -0.12 (-1.07, 0.83)
SFA 18:0 Zhang 0.2640068 0.0230143 0.0456874 0.4823261 952 0.26 (0.05, 0.48)
SFA 18:0 VidalBralo 0.4554651 0.2326873 -0.3497363 1.2606665 952 0.46 (-0.35, 1.26)
SFA 18:0 PhenoAge 0.3738335 0.4217239 -0.6308088 1.3784757 952 0.37 (-0.63, 1.38)
SFA 18:0 GrimAge2 0.5091010 0.0876225 -0.0919921 1.1101940 952 0.51 (-0.09, 1.11)
SFA 18:0 DNAmTL -0.0224488 0.0511866 -0.0450409 0.0001433 952 -0.02 (-0.05, 0)
SFA 18:0 YangCell -0.0490546 0.4069664 -0.1766227 0.0785135 952 -0.05 (-0.18, 0.08)
SFA 18:0 DunedinPoAm 0.0594369 0.3697485 -0.0829726 0.2018463 952 0.06 (-0.08, 0.2)
MUFA 16:1 Horvath1 -0.0549685 0.8374557 -0.6438077 0.5338706 952 -0.05 (-0.64, 0.53)
MUFA 16:1 Horvath2 0.3660508 0.1240055 -0.1220229 0.8541245 952 0.37 (-0.12, 0.85)
MUFA 16:1 Hannum 0.4401951 0.1320875 -0.1610984 1.0414885 952 0.44 (-0.16, 1.04)
MUFA 16:1 Lin -0.1334734 0.7345344 -0.9966442 0.7296974 952 -0.13 (-1, 0.73)
MUFA 16:1 Zhang 0.0903726 0.2757405 -0.0858054 0.2665505 952 0.09 (-0.09, 0.27)
MUFA 16:1 VidalBralo 0.2750318 0.2912707 -0.2799329 0.8299965 952 0.28 (-0.28, 0.83)
MUFA 16:1 PhenoAge 0.1993212 0.5744428 -0.5745671 0.9732096 952 0.2 (-0.57, 0.97)
MUFA 16:1 GrimAge2 0.2792637 0.3454777 -0.3552950 0.9138225 952 0.28 (-0.36, 0.91)
MUFA 16:1 DNAmTL -0.0023556 0.8253797 -0.0258146 0.0211034 952 0 (-0.03, 0.02)
MUFA 16:1 YangCell -0.0412992 0.3753763 -0.1414781 0.0588798 952 -0.04 (-0.14, 0.06)
MUFA 16:1 DunedinPoAm 0.0623299 0.2198511 -0.0445971 0.1692569 952 0.06 (-0.04, 0.17)
MUFA 18:1 Horvath1 -0.5623068 0.1739226 -1.4238249 0.2992113 952 -0.56 (-1.42, 0.3)
MUFA 18:1 Horvath2 0.0252858 0.9443003 -0.7709347 0.8215064 952 0.03 (-0.77, 0.82)
MUFA 18:1 Hannum 0.2895748 0.4849875 -0.6099531 1.1891027 952 0.29 (-0.61, 1.19)
MUFA 18:1 Lin -0.8102118 0.2088494 -2.1641585 0.5437349 952 -0.81 (-2.16, 0.54)
MUFA 18:1 Zhang 0.1204722 0.3680715 -0.1671194 0.4080639 952 0.12 (-0.17, 0.41)
MUFA 18:1 VidalBralo 0.1645530 0.6901493 -0.7394819 1.0685880 952 0.16 (-0.74, 1.07)
MUFA 18:1 PhenoAge -0.1925175 0.6986079 -1.2817542 0.8967191 952 -0.19 (-1.28, 0.9)
MUFA 18:1 GrimAge2 0.4233167 0.2394077 -0.3367752 1.1834087 952 0.42 (-0.34, 1.18)
MUFA 18:1 DNAmTL -0.0162534 0.3364246 -0.0524627 0.0199560 952 -0.02 (-0.05, 0.02)
MUFA 18:1 YangCell -0.0326462 0.5678430 -0.1572041 0.0919117 952 -0.03 (-0.16, 0.09)
MUFA 18:1 DunedinPoAm 0.0968567 0.1932747 -0.0589706 0.2526840 952 0.1 (-0.06, 0.25)
MUFA 20:1 Horvath1 -0.1541145 0.3841859 -0.5352447 0.2270157 952 -0.15 (-0.54, 0.23)
MUFA 20:1 Horvath2 -0.1148107 0.4339801 -0.4319600 0.2023385 952 -0.11 (-0.43, 0.2)
MUFA 20:1 Hannum -0.1084476 0.5314600 -0.4854287 0.2685335 952 -0.11 (-0.49, 0.27)
MUFA 20:1 Lin -0.2902961 0.2379450 -0.8097860 0.2291938 952 -0.29 (-0.81, 0.23)
MUFA 20:1 Zhang -0.0376579 0.4867299 -0.1551189 0.0798032 952 -0.04 (-0.16, 0.08)
MUFA 20:1 VidalBralo 0.1116869 0.4535705 -0.2108639 0.4342377 952 0.11 (-0.21, 0.43)
MUFA 20:1 PhenoAge -0.1084486 0.5656451 -0.5198397 0.3029424 952 -0.11 (-0.52, 0.3)
MUFA 20:1 GrimAge2 0.1248312 0.3829827 -0.1830657 0.4327281 952 0.12 (-0.18, 0.43)
MUFA 20:1 DNAmTL -0.0083457 0.2384852 -0.0232992 0.0066077 952 -0.01 (-0.02, 0.01)
MUFA 20:1 YangCell -0.0009426 0.9660750 -0.0497034 0.0478182 952 0 (-0.05, 0.05)
MUFA 20:1 DunedinPoAm 0.0135638 0.6273274 -0.0474884 0.0746160 952 0.01 (-0.05, 0.07)
MUFA 22:1 Horvath1 -0.0340155 0.5725771 -0.1654317 0.0974006 952 -0.03 (-0.17, 0.1)
MUFA 22:1 Horvath2 0.0381044 0.5310560 -0.0942193 0.1704280 952 0.04 (-0.09, 0.17)
MUFA 22:1 Hannum 0.0342727 0.5895034 -0.1043102 0.1728556 952 0.03 (-0.1, 0.17)
MUFA 22:1 Lin 0.0289889 0.7305133 -0.1555542 0.2135319 952 0.03 (-0.16, 0.21)
MUFA 22:1 Zhang 0.0048714 0.8189360 -0.0418808 0.0516236 952 0 (-0.04, 0.05)
MUFA 22:1 VidalBralo -0.0194604 0.7161302 -0.1367602 0.0978394 952 -0.02 (-0.14, 0.1)
MUFA 22:1 PhenoAge 0.0177521 0.8518719 -0.1912142 0.2267183 952 0.02 (-0.19, 0.23)
MUFA 22:1 GrimAge2 -0.0445571 0.4466651 -0.1712265 0.0821122 952 -0.04 (-0.17, 0.08)
MUFA 22:1 DNAmTL -0.0003274 0.9063221 -0.0064466 0.0057918 952 0 (-0.01, 0.01)
MUFA 22:1 YangCell 0.0114746 0.3025420 -0.0122614 0.0352106 952 0.01 (-0.01, 0.04)
MUFA 22:1 DunedinPoAm 0.0037795 0.7102148 -0.0185117 0.0260707 952 0 (-0.02, 0.03)
PUFA 18:2 Horvath1 -0.6070840 0.0535821 -1.2257538 0.0115858 952 -0.61 (-1.23, 0.01)
PUFA 18:2 Horvath2 -0.4738536 0.1323061 -1.1215398 0.1738326 952 -0.47 (-1.12, 0.17)
PUFA 18:2 Hannum -0.3321770 0.2971558 -1.0112110 0.3468570 952 -0.33 (-1.01, 0.35)
PUFA 18:2 Lin -0.8131681 0.0549480 -1.6476552 0.0213191 952 -0.81 (-1.65, 0.02)
PUFA 18:2 Zhang -0.0587042 0.5202868 -0.2572072 0.1397989 952 -0.06 (-0.26, 0.14)
PUFA 18:2 VidalBralo -0.2906129 0.3035542 -0.8931059 0.3118801 952 -0.29 (-0.89, 0.31)
PUFA 18:2 PhenoAge -0.4750068 0.2087198 -1.2685441 0.3185306 952 -0.48 (-1.27, 0.32)
PUFA 18:2 GrimAge2 -0.0736952 0.7768054 -0.6443558 0.4969653 952 -0.07 (-0.64, 0.5)
PUFA 18:2 DNAmTL 0.0038222 0.7570212 -0.0232841 0.0309284 952 0 (-0.02, 0.03)
PUFA 18:2 YangCell -0.0025998 0.9545980 -0.1030635 0.0978639 952 0 (-0.1, 0.1)
PUFA 18:2 DunedinPoAm -0.0013295 0.9780799 -0.1077940 0.1051350 952 0 (-0.11, 0.11)
PUFA 20:4 Horvath1 -0.0971210 0.2444029 -0.2735208 0.0792788 952 -0.1 (-0.27, 0.08)
PUFA 20:4 Horvath2 -0.0137108 0.8637044 -0.1893017 0.1618802 952 -0.01 (-0.19, 0.16)
PUFA 20:4 Hannum -0.0641212 0.4951140 -0.2681412 0.1398988 952 -0.06 (-0.27, 0.14)
PUFA 20:4 Lin -0.3470689 0.0124803 -0.5993652 -0.0947726 952 -0.35 (-0.6, -0.09)
PUFA 20:4 Zhang -0.0232709 0.3661112 -0.0785857 0.0320438 952 -0.02 (-0.08, 0.03)
PUFA 20:4 VidalBralo -0.0609871 0.4701934 -0.2439944 0.1220201 952 -0.06 (-0.24, 0.12)
PUFA 20:4 PhenoAge -0.1760300 0.1265604 -0.4125605 0.0605006 952 -0.18 (-0.41, 0.06)
PUFA 20:4 GrimAge2 0.0280484 0.7450670 -0.1611732 0.2172700 952 0.03 (-0.16, 0.22)
PUFA 20:4 DNAmTL -0.0010011 0.8240474 -0.0108942 0.0088920 952 0 (-0.01, 0.01)
PUFA 20:4 YangCell -0.0090267 0.5479652 -0.0417381 0.0236848 952 -0.01 (-0.04, 0.02)
PUFA 20:4 DunedinPoAm 0.0196003 0.3200660 -0.0225324 0.0617330 952 0.02 (-0.02, 0.06)
PUFA 18:3 Horvath1 -0.5809260 0.0713670 -1.2240307 0.0621787 952 -0.58 (-1.22, 0.06)
PUFA 18:3 Horvath2 -0.1691337 0.5266016 -0.7500179 0.4117504 952 -0.17 (-0.75, 0.41)
PUFA 18:3 Hannum -0.2268506 0.4279718 -0.8450834 0.3913822 952 -0.23 (-0.85, 0.39)
PUFA 18:3 Lin -0.6447076 0.1974609 -1.6926931 0.4032779 952 -0.64 (-1.69, 0.4)
PUFA 18:3 Zhang 0.0864769 0.2896875 -0.0874083 0.2603622 952 0.09 (-0.09, 0.26)
PUFA 18:3 VidalBralo -0.5040507 0.1200277 -1.1679733 0.1598720 952 -0.5 (-1.17, 0.16)
PUFA 18:3 PhenoAge -0.6122204 0.1626189 -1.5228484 0.2984076 952 -0.61 (-1.52, 0.3)
PUFA 18:3 GrimAge2 -0.0793939 0.7512602 -0.6288986 0.4701108 952 -0.08 (-0.63, 0.47)
PUFA 18:3 DNAmTL -0.0021787 0.8635855 -0.0300562 0.0256988 952 0 (-0.03, 0.03)
PUFA 18:3 YangCell -0.0096099 0.8218540 -0.1033808 0.0841611 952 -0.01 (-0.1, 0.08)
PUFA 18:3 DunedinPoAm 0.0166897 0.7149998 -0.0834890 0.1168683 952 0.02 (-0.08, 0.12)
PUFA 20:5 Horvath1 -0.1059343 0.1736527 -0.2681248 0.0562561 952 -0.11 (-0.27, 0.06)
PUFA 20:5 Horvath2 -0.0672085 0.2469453 -0.1899908 0.0555738 952 -0.07 (-0.19, 0.06)
PUFA 20:5 Hannum -0.1213201 0.1238523 -0.2830069 0.0403667 952 -0.12 (-0.28, 0.04)
PUFA 20:5 Lin -0.0317283 0.7116997 -0.2198774 0.1564208 952 -0.03 (-0.22, 0.16)
PUFA 20:5 Zhang -0.0277211 0.1838012 -0.0712771 0.0158349 952 -0.03 (-0.07, 0.02)
PUFA 20:5 VidalBralo -0.1129307 0.0595938 -0.2315017 0.0056402 952 -0.11 (-0.23, 0.01)
PUFA 20:5 PhenoAge -0.0990620 0.1523934 -0.2423985 0.0442745 952 -0.1 (-0.24, 0.04)
PUFA 20:5 GrimAge2 0.0243576 0.5005517 -0.0541565 0.1028716 952 0.02 (-0.05, 0.1)
PUFA 20:5 DNAmTL 0.0052814 0.0302415 0.0006307 0.0099321 952 0.01 (0, 0.01)
PUFA 20:5 YangCell -0.0200980 0.0820648 -0.0433322 0.0031362 952 -0.02 (-0.04, 0)
PUFA 20:5 DunedinPoAm 0.0130701 0.1893185 -0.0077521 0.0338922 952 0.01 (-0.01, 0.03)
PUFA 22:5 Horvath1 -0.1190130 0.1313585 -0.2812325 0.0432064 952 -0.12 (-0.28, 0.04)
PUFA 22:5 Horvath2 -0.0799472 0.1594756 -0.1978681 0.0379737 952 -0.08 (-0.2, 0.04)
PUFA 22:5 Hannum -0.1285312 0.0826593 -0.2774611 0.0203988 952 -0.13 (-0.28, 0.02)
PUFA 22:5 Lin -0.0533735 0.5877246 -0.2681460 0.1613991 952 -0.05 (-0.27, 0.16)
PUFA 22:5 Zhang -0.0286636 0.1515290 -0.0700399 0.0127126 952 -0.03 (-0.07, 0.01)
PUFA 22:5 VidalBralo -0.0822317 0.2349208 -0.2283615 0.0638980 952 -0.08 (-0.23, 0.06)
PUFA 22:5 PhenoAge -0.1307909 0.0465336 -0.2590903 -0.0024915 952 -0.13 (-0.26, 0)
PUFA 22:5 GrimAge2 -0.0348147 0.4819433 -0.1421907 0.0725613 952 -0.03 (-0.14, 0.07)
PUFA 22:5 DNAmTL 0.0046596 0.1031408 -0.0011524 0.0104716 952 0 (0, 0.01)
PUFA 22:5 YangCell -0.0173310 0.1148774 -0.0397935 0.0051315 952 -0.02 (-0.04, 0.01)
PUFA 22:5 DunedinPoAm 0.0111027 0.2808144 -0.0107874 0.0329928 952 0.01 (-0.01, 0.03)
PUFA 22:6 Horvath1 -0.1866118 0.0302077 -0.3508963 -0.0223273 952 -0.19 (-0.35, -0.02)
PUFA 22:6 Horvath2 -0.1456529 0.0370789 -0.2804311 -0.0108746 952 -0.15 (-0.28, -0.01)
PUFA 22:6 Hannum -0.2153477 0.0216654 -0.3910567 -0.0396386 952 -0.22 (-0.39, -0.04)
PUFA 22:6 Lin -0.2420721 0.0249051 -0.4458448 -0.0382994 952 -0.24 (-0.45, -0.04)
PUFA 22:6 Zhang -0.0500334 0.0433713 -0.0982157 -0.0018511 952 -0.05 (-0.1, 0)
PUFA 22:6 VidalBralo -0.1343087 0.0264668 -0.2489513 -0.0196662 952 -0.13 (-0.25, -0.02)
PUFA 22:6 PhenoAge -0.2243274 0.0090727 -0.3776039 -0.0710509 952 -0.22 (-0.38, -0.07)
PUFA 22:6 GrimAge2 -0.0171604 0.6302598 -0.0950730 0.0607522 952 -0.02 (-0.1, 0.06)
PUFA 22:6 DNAmTL 0.0036219 0.1328398 -0.0013365 0.0085803 952 0 (0, 0.01)
PUFA 22:6 YangCell -0.0225811 0.0927874 -0.0497506 0.0045883 952 -0.02 (-0.05, 0)
PUFA 22:6 DunedinPoAm 0.0088727 0.3722995 -0.0125051 0.0302505 952 0.01 (-0.01, 0.03)

Stratified analyses - female

# dataframe to store results
subtypes_res_female = data.frame(nutrient = rep(c('SFA 4:0', 'SFA 6:0', 'SFA 8:0', 'SFA 10:0', 'SFA 12:0', 'SFA 14:0', 'SFA 16:0', 'SFA 18:0',
                            'MUFA 16:1', 'MUFA 18:1', 'MUFA 20:1', 'MUFA 22:1',
                            'PUFA 18:2', 'PUFA 20:4', 'PUFA 18:3', 'PUFA 20:5', 'PUFA 22:5', 'PUFA 22:6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 18),
  coef = NA, p = NA, CI_L = NA, CI_H = NA, n = NA)

# NHANES variable names
vars_ead = c("HorvathAge", "SkinBloodAge", "HannumAge", "LinAge", "ZhangAge", "VidalBraloAge", "PhenoAge", "GrimAge2Mort", "HorvathTelo", "YangCell_scale", "DunedinPoAm_scale")
subtypes = c("DRXTS040_log2", "DRXTS060_log2", "DRXTS080_log2", "DRXTS100_log2", "DRXTS120_log2", "DRXTS140_log2", "DRXTS160_log2", "DRXTS180_log2", "DRXTM161_log2", 
        "DRXTM181_log2", "DRXTM201_log2", "DRXTM221_log2", "DRXTP182_log2", "DRXTP204_log2", "DRXTP183_log2", "DRXTP205_log2", "DRXTP225_log2", "DRXTP226_log2")

# functions to fill in table
popTable1_subtypes_female = function(tab, i, j, k){
    # i = EAD variable
    # j = fat variable
    # k = table row
    mod = svyglm(formula(paste0(vars_ead[i], " ~ ", subtypes[j], " +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_female, 
            family = gaussian())
    tab[k,3] = summary(mod)$coef[2,1]
    tab[k,4] = summary(mod)$coef[2,4]
    tab[k,5] = confint(mod)[2,1]
    tab[k,6] = confint(mod)[2,2]
    tab[k,7] = nrow(mod$model)
    return(tab)
}

popTable2_subtypes_female = function(tab, subtypes, vars_ead){
    k = 1
    for (j in 1:length(subtypes)){
        for (i in 1:length(vars_ead)){
            tab = popTable1_subtypes_female(tab, i, j, k)
            k = k + 1
        }
    }
    return(tab)
}

subtypes_res_female = popTable2_subtypes_female(subtypes_res_female, subtypes, vars_ead)

subtypes_res_female$B_CI = paste0(round(subtypes_res_female$coef, 2), ' (', round(subtypes_res_female$CI_L, 2), ', ', round(subtypes_res_female$CI_H, 2), ')')

write.csv(subtypes_res_female, 'subtypes_res_female.csv')
nutrient clock coef p CI_L CI_H n B_CI
SFA 4:0 Horvath1 0.0031797 0.9565221 -0.1251374 0.1314968 819 0 (-0.13, 0.13)
SFA 4:0 Horvath2 -0.0455195 0.2535261 -0.1299341 0.0388951 819 -0.05 (-0.13, 0.04)
SFA 4:0 Hannum -0.0409499 0.6251425 -0.2240901 0.1421903 819 -0.04 (-0.22, 0.14)
SFA 4:0 Lin -0.0897117 0.5160155 -0.3899084 0.2104850 819 -0.09 (-0.39, 0.21)
SFA 4:0 Zhang -0.0197570 0.2994456 -0.0603483 0.0208343 819 -0.02 (-0.06, 0.02)
SFA 4:0 VidalBralo 0.0558844 0.6209345 -0.1909976 0.3027664 819 0.06 (-0.19, 0.3)
SFA 4:0 PhenoAge -0.0251695 0.8329717 -0.2874318 0.2370929 819 -0.03 (-0.29, 0.24)
SFA 4:0 GrimAge2 0.0120055 0.8766115 -0.1580079 0.1820189 819 0.01 (-0.16, 0.18)
SFA 4:0 DNAmTL 0.0029160 0.2374814 -0.0022967 0.0081287 819 0 (0, 0.01)
SFA 4:0 YangCell -0.0000634 0.9940101 -0.0186551 0.0185283 819 0 (-0.02, 0.02)
SFA 4:0 DunedinPoAm 0.0050418 0.7252093 -0.0264051 0.0364888 819 0.01 (-0.03, 0.04)
SFA 6:0 Horvath1 0.0070593 0.9031653 -0.1205548 0.1346734 819 0.01 (-0.12, 0.13)
SFA 6:0 Horvath2 -0.0414161 0.2265896 -0.1136007 0.0307684 819 -0.04 (-0.11, 0.03)
SFA 6:0 Hannum 0.0034898 0.9621552 -0.1583296 0.1653093 819 0 (-0.16, 0.17)
SFA 6:0 Lin -0.0536190 0.5473169 -0.2476058 0.1403678 819 -0.05 (-0.25, 0.14)
SFA 6:0 Zhang -0.0205127 0.2525014 -0.0584645 0.0174391 819 -0.02 (-0.06, 0.02)
SFA 6:0 VidalBralo 0.0796445 0.3862940 -0.1182337 0.2775228 819 0.08 (-0.12, 0.28)
SFA 6:0 PhenoAge 0.0338935 0.7305412 -0.1818958 0.2496828 819 0.03 (-0.18, 0.25)
SFA 6:0 GrimAge2 0.0385124 0.5746110 -0.1110835 0.1881083 819 0.04 (-0.11, 0.19)
SFA 6:0 DNAmTL 0.0006677 0.7764810 -0.0044952 0.0058307 819 0 (0, 0.01)
SFA 6:0 YangCell 0.0055091 0.5363769 -0.0138783 0.0248965 819 0.01 (-0.01, 0.02)
SFA 6:0 DunedinPoAm 0.0075557 0.5888249 -0.0229396 0.0380510 819 0.01 (-0.02, 0.04)
SFA 8:0 Horvath1 0.0068773 0.9253011 -0.1544758 0.1682303 819 0.01 (-0.15, 0.17)
SFA 8:0 Horvath2 -0.0615344 0.2813500 -0.1830005 0.0599317 819 -0.06 (-0.18, 0.06)
SFA 8:0 Hannum -0.0779408 0.4362176 -0.2943310 0.1384495 819 -0.08 (-0.29, 0.14)
SFA 8:0 Lin 0.0047136 0.9620382 -0.2131772 0.2226045 819 0 (-0.21, 0.22)
SFA 8:0 Zhang -0.0228786 0.3839635 -0.0794305 0.0336733 819 -0.02 (-0.08, 0.03)
SFA 8:0 VidalBralo 0.0714590 0.5211160 -0.1706661 0.3135841 819 0.07 (-0.17, 0.31)
SFA 8:0 PhenoAge -0.0817271 0.4621924 -0.3224730 0.1590188 819 -0.08 (-0.32, 0.16)
SFA 8:0 GrimAge2 0.0157548 0.8242666 -0.1401288 0.1716383 819 0.02 (-0.14, 0.17)
SFA 8:0 DNAmTL 0.0022373 0.4433598 -0.0040755 0.0085502 819 0 (0, 0.01)
SFA 8:0 YangCell -0.0181751 0.1618534 -0.0451542 0.0088039 819 -0.02 (-0.05, 0.01)
SFA 8:0 DunedinPoAm 0.0023558 0.8870931 -0.0341303 0.0388418 819 0 (-0.03, 0.04)
SFA 10:0 Horvath1 0.0222954 0.8093833 -0.1807288 0.2253197 819 0.02 (-0.18, 0.23)
SFA 10:0 Horvath2 -0.0845508 0.2750917 -0.2491410 0.0800395 819 -0.08 (-0.25, 0.08)
SFA 10:0 Hannum -0.0629185 0.6025578 -0.3266851 0.2008482 819 -0.06 (-0.33, 0.2)
SFA 10:0 Lin -0.1585118 0.2278580 -0.4356041 0.1185805 819 -0.16 (-0.44, 0.12)
SFA 10:0 Zhang -0.0415873 0.2147188 -0.1120670 0.0288923 819 -0.04 (-0.11, 0.03)
SFA 10:0 VidalBralo -0.0002433 0.9985375 -0.2923532 0.2918665 819 0 (-0.29, 0.29)
SFA 10:0 PhenoAge -0.1181664 0.4093383 -0.4270838 0.1907510 819 -0.12 (-0.43, 0.19)
SFA 10:0 GrimAge2 -0.0229169 0.7976742 -0.2192351 0.1734014 819 -0.02 (-0.22, 0.17)
SFA 10:0 DNAmTL 0.0053101 0.1876321 -0.0031139 0.0137341 819 0.01 (0, 0.01)
SFA 10:0 YangCell -0.0104105 0.5134024 -0.0450252 0.0242043 819 -0.01 (-0.05, 0.02)
SFA 10:0 DunedinPoAm -0.0049519 0.8315712 -0.0561134 0.0462096 819 0 (-0.06, 0.05)
SFA 12:0 Horvath1 0.0512258 0.6113365 -0.1689136 0.2713653 819 0.05 (-0.17, 0.27)
SFA 12:0 Horvath2 -0.0757209 0.3988342 -0.2691226 0.1176808 819 -0.08 (-0.27, 0.12)
SFA 12:0 Hannum -0.1327801 0.3896894 -0.4651480 0.1995879 819 -0.13 (-0.47, 0.2)
SFA 12:0 Lin -0.0478759 0.7449772 -0.3707398 0.2749881 819 -0.05 (-0.37, 0.27)
SFA 12:0 Zhang -0.0333224 0.3567885 -0.1109321 0.0442873 819 -0.03 (-0.11, 0.04)
SFA 12:0 VidalBralo 0.0686933 0.6334170 -0.2461334 0.3835201 819 0.07 (-0.25, 0.38)
SFA 12:0 PhenoAge -0.0705780 0.6950017 -0.4648882 0.3237322 819 -0.07 (-0.46, 0.32)
SFA 12:0 GrimAge2 0.0835389 0.4684897 -0.1661519 0.3332298 819 0.08 (-0.17, 0.33)
SFA 12:0 DNAmTL 0.0042301 0.3214830 -0.0048911 0.0133512 819 0 (0, 0.01)
SFA 12:0 YangCell -0.0453335 0.0217981 -0.0823724 -0.0082946 819 -0.05 (-0.08, -0.01)
SFA 12:0 DunedinPoAm 0.0077094 0.7978934 -0.0584069 0.0738257 819 0.01 (-0.06, 0.07)
SFA 14:0 Horvath1 0.0450671 0.7226371 -0.2332884 0.3234227 819 0.05 (-0.23, 0.32)
SFA 14:0 Horvath2 -0.1324055 0.3089452 -0.4101747 0.1453637 819 -0.13 (-0.41, 0.15)
SFA 14:0 Hannum -0.0943960 0.6267028 -0.5185015 0.3297095 819 -0.09 (-0.52, 0.33)
SFA 14:0 Lin -0.2854620 0.2095449 -0.7632961 0.1923720 819 -0.29 (-0.76, 0.19)
SFA 14:0 Zhang -0.0606640 0.2605326 -0.1749616 0.0536336 819 -0.06 (-0.17, 0.05)
SFA 14:0 VidalBralo 0.0648332 0.7644810 -0.4100671 0.5397336 819 0.06 (-0.41, 0.54)
SFA 14:0 PhenoAge -0.0840843 0.7377855 -0.6349078 0.4667392 819 -0.08 (-0.63, 0.47)
SFA 14:0 GrimAge2 0.0025899 0.9848350 -0.2972078 0.3023875 819 0 (-0.3, 0.3)
SFA 14:0 DNAmTL 0.0166398 0.0054356 0.0062869 0.0269926 819 0.02 (0.01, 0.03)
SFA 14:0 YangCell -0.0454596 0.1057924 -0.1026675 0.0117483 819 -0.05 (-0.1, 0.01)
SFA 14:0 DunedinPoAm 0.0124939 0.7476777 -0.0727020 0.0976898 819 0.01 (-0.07, 0.1)
SFA 16:0 Horvath1 -0.1545142 0.7093069 -1.0628240 0.7537956 819 -0.15 (-1.06, 0.75)
SFA 16:0 Horvath2 -0.1618399 0.5763191 -0.7933533 0.4696734 819 -0.16 (-0.79, 0.47)
SFA 16:0 Hannum -0.1127295 0.7983044 -1.0815279 0.8560689 819 -0.11 (-1.08, 0.86)
SFA 16:0 Lin -0.0876689 0.8891552 -1.4709306 1.2955928 819 -0.09 (-1.47, 1.3)
SFA 16:0 Zhang -0.0650119 0.5842074 -0.3241305 0.1941068 819 -0.07 (-0.32, 0.19)
SFA 16:0 VidalBralo 0.3172196 0.5323830 -0.7880269 1.4224661 819 0.32 (-0.79, 1.42)
SFA 16:0 PhenoAge 0.4462552 0.4885984 -0.9518464 1.8443567 819 0.45 (-0.95, 1.84)
SFA 16:0 GrimAge2 0.1381965 0.6317646 -0.4920595 0.7684525 819 0.14 (-0.49, 0.77)
SFA 16:0 DNAmTL 0.0048903 0.7683575 -0.0315519 0.0413326 819 0 (-0.03, 0.04)
SFA 16:0 YangCell -0.0524548 0.4703614 -0.2099200 0.1050104 819 -0.05 (-0.21, 0.11)
SFA 16:0 DunedinPoAm 0.0459168 0.5147747 -0.1072673 0.1991010 819 0.05 (-0.11, 0.2)
SFA 18:0 Horvath1 -0.1526783 0.6608741 -0.9141465 0.6087899 819 -0.15 (-0.91, 0.61)
SFA 18:0 Horvath2 -0.1857728 0.4513536 -0.7195714 0.3480258 819 -0.19 (-0.72, 0.35)
SFA 18:0 Hannum -0.1760226 0.6130667 -0.9362113 0.5841661 819 -0.18 (-0.94, 0.58)
SFA 18:0 Lin -0.3566240 0.4533792 -1.3861001 0.6728521 819 -0.36 (-1.39, 0.67)
SFA 18:0 Zhang -0.1149837 0.2544832 -0.3286813 0.0987140 819 -0.11 (-0.33, 0.1)
SFA 18:0 VidalBralo 0.4189578 0.3399660 -0.5216403 1.3595558 819 0.42 (-0.52, 1.36)
SFA 18:0 PhenoAge 0.4377124 0.4286298 -0.7569429 1.6323678 819 0.44 (-0.76, 1.63)
SFA 18:0 GrimAge2 0.1125317 0.6754939 -0.4759353 0.7009988 819 0.11 (-0.48, 0.7)
SFA 18:0 DNAmTL 0.0119176 0.3572248 -0.0158656 0.0397007 819 0.01 (-0.02, 0.04)
SFA 18:0 YangCell -0.0320674 0.5670912 -0.1541752 0.0900404 819 -0.03 (-0.15, 0.09)
SFA 18:0 DunedinPoAm 0.0139174 0.8098066 -0.1131040 0.1409387 819 0.01 (-0.11, 0.14)
MUFA 16:1 Horvath1 0.1663707 0.4906314 -0.3573776 0.6901190 819 0.17 (-0.36, 0.69)
MUFA 16:1 Horvath2 0.1534065 0.4053268 -0.2440847 0.5508977 819 0.15 (-0.24, 0.55)
MUFA 16:1 Hannum 0.3071777 0.2483760 -0.2558371 0.8701926 819 0.31 (-0.26, 0.87)
MUFA 16:1 Lin 0.1254093 0.7537542 -0.7517221 1.0025408 819 0.13 (-0.75, 1)
MUFA 16:1 Zhang 0.0476546 0.5115731 -0.1100934 0.2054026 819 0.05 (-0.11, 0.21)
MUFA 16:1 VidalBralo 0.1127548 0.6979682 -0.5237626 0.7492723 819 0.11 (-0.52, 0.75)
MUFA 16:1 PhenoAge 0.6415851 0.0871807 -0.1146855 1.3978558 819 0.64 (-0.11, 1.4)
MUFA 16:1 GrimAge2 0.2029943 0.3147773 -0.2283397 0.6343283 819 0.2 (-0.23, 0.63)
MUFA 16:1 DNAmTL -0.0039150 0.6799819 -0.0246950 0.0168651 819 0 (-0.02, 0.02)
MUFA 16:1 YangCell -0.0185121 0.6923167 -0.1209777 0.0839535 819 -0.02 (-0.12, 0.08)
MUFA 16:1 DunedinPoAm 0.0707993 0.1099153 -0.0195126 0.1611111 819 0.07 (-0.02, 0.16)
MUFA 18:1 Horvath1 -0.5480270 0.2731935 -1.6103297 0.5142758 819 -0.55 (-1.61, 0.51)
MUFA 18:1 Horvath2 -0.1998205 0.4913248 -0.8299065 0.4302655 819 -0.2 (-0.83, 0.43)
MUFA 18:1 Hannum -0.4027576 0.3588178 -1.3449690 0.5394538 819 -0.4 (-1.34, 0.54)
MUFA 18:1 Lin -0.2180727 0.7070346 -1.4895066 1.0533612 819 -0.22 (-1.49, 1.05)
MUFA 18:1 Zhang -0.1543172 0.2395180 -0.4314739 0.1228395 819 -0.15 (-0.43, 0.12)
MUFA 18:1 VidalBralo 0.2333815 0.6776286 -0.9957064 1.4624694 819 0.23 (-1, 1.46)
MUFA 18:1 PhenoAge 0.3009890 0.5774070 -0.8769155 1.4788936 819 0.3 (-0.88, 1.48)
MUFA 18:1 GrimAge2 0.2109546 0.5201020 -0.5020468 0.9239559 819 0.21 (-0.5, 0.92)
MUFA 18:1 DNAmTL -0.0008018 0.9603219 -0.0362600 0.0346564 819 0 (-0.04, 0.03)
MUFA 18:1 YangCell -0.0312622 0.6295244 -0.1728920 0.1103676 819 -0.03 (-0.17, 0.11)
MUFA 18:1 DunedinPoAm 0.0434694 0.5537142 -0.1163954 0.2033341 819 0.04 (-0.12, 0.2)
MUFA 20:1 Horvath1 -0.2507922 0.2011915 -0.6621955 0.1606111 819 -0.25 (-0.66, 0.16)
MUFA 20:1 Horvath2 -0.0551505 0.6201240 -0.2982179 0.1879169 819 -0.06 (-0.3, 0.19)
MUFA 20:1 Hannum -0.1919567 0.3322562 -0.6157251 0.2318117 819 -0.19 (-0.62, 0.23)
MUFA 20:1 Lin -0.2209218 0.2454920 -0.6231815 0.1813379 819 -0.22 (-0.62, 0.18)
MUFA 20:1 Zhang -0.0696602 0.2294379 -0.1918823 0.0525619 819 -0.07 (-0.19, 0.05)
MUFA 20:1 VidalBralo -0.1234548 0.4183768 -0.4527566 0.2058470 819 -0.12 (-0.45, 0.21)
MUFA 20:1 PhenoAge -0.1491048 0.4248823 -0.5526525 0.2544428 819 -0.15 (-0.55, 0.25)
MUFA 20:1 GrimAge2 0.1006861 0.3485584 -0.1296418 0.3310140 819 0.1 (-0.13, 0.33)
MUFA 20:1 DNAmTL -0.0010291 0.8564963 -0.0135388 0.0114806 819 0 (-0.01, 0.01)
MUFA 20:1 YangCell -0.0278628 0.4526768 -0.1081662 0.0524405 819 -0.03 (-0.11, 0.05)
MUFA 20:1 DunedinPoAm 0.0213384 0.4363904 -0.0379274 0.0806042 819 0.02 (-0.04, 0.08)
MUFA 22:1 Horvath1 0.0551332 0.5197426 -0.1310462 0.2413126 819 0.06 (-0.13, 0.24)
MUFA 22:1 Horvath2 0.0309766 0.4205362 -0.0520493 0.1140024 819 0.03 (-0.05, 0.11)
MUFA 22:1 Hannum -0.0409185 0.5819349 -0.2030099 0.1211729 819 -0.04 (-0.2, 0.12)
MUFA 22:1 Lin -0.0779097 0.4180245 -0.2855616 0.1297423 819 -0.08 (-0.29, 0.13)
MUFA 22:1 Zhang -0.0078492 0.6797421 -0.0494785 0.0337800 819 -0.01 (-0.05, 0.03)
MUFA 22:1 VidalBralo -0.0562065 0.4017435 -0.2006921 0.0882791 819 -0.06 (-0.2, 0.09)
MUFA 22:1 PhenoAge 0.1045858 0.1425646 -0.0426586 0.2518302 819 0.1 (-0.04, 0.25)
MUFA 22:1 GrimAge2 -0.0204662 0.6132877 -0.1089096 0.0679771 819 -0.02 (-0.11, 0.07)
MUFA 22:1 DNAmTL -0.0002095 0.9238792 -0.0050329 0.0046139 819 0 (-0.01, 0)
MUFA 22:1 YangCell -0.0054834 0.5639577 -0.0261924 0.0152256 819 -0.01 (-0.03, 0.02)
MUFA 22:1 DunedinPoAm 0.0065301 0.5150807 -0.0152713 0.0283315 819 0.01 (-0.02, 0.03)
PUFA 18:2 Horvath1 -0.6118294 0.1297419 -1.4417963 0.2181374 819 -0.61 (-1.44, 0.22)
PUFA 18:2 Horvath2 -0.1291773 0.6320083 -0.7187272 0.4603727 819 -0.13 (-0.72, 0.46)
PUFA 18:2 Hannum -0.7910295 0.0496535 -1.5805740 -0.0014851 819 -0.79 (-1.58, 0)
PUFA 18:2 Lin -0.3515342 0.4581123 -1.3773849 0.6743165 819 -0.35 (-1.38, 0.67)
PUFA 18:2 Zhang -0.0697322 0.4738511 -0.2807687 0.1413043 819 -0.07 (-0.28, 0.14)
PUFA 18:2 VidalBralo -0.2950342 0.4447677 -1.1301633 0.5400950 819 -0.3 (-1.13, 0.54)
PUFA 18:2 PhenoAge -0.6066995 0.1397727 -1.4541052 0.2407062 819 -0.61 (-1.45, 0.24)
PUFA 18:2 GrimAge2 -0.1871722 0.4697812 -0.7482925 0.3739480 819 -0.19 (-0.75, 0.37)
PUFA 18:2 DNAmTL -0.0058612 0.6716939 -0.0361312 0.0244088 819 -0.01 (-0.04, 0.02)
PUFA 18:2 YangCell -0.0323131 0.5526469 -0.1508234 0.0861972 819 -0.03 (-0.15, 0.09)
PUFA 18:2 DunedinPoAm -0.0139453 0.8224563 -0.1504904 0.1225999 819 -0.01 (-0.15, 0.12)
PUFA 20:4 Horvath1 -0.0691337 0.5501429 -0.3210629 0.1827954 819 -0.07 (-0.32, 0.18)
PUFA 20:4 Horvath2 -0.0121885 0.8649714 -0.1697663 0.1453892 819 -0.01 (-0.17, 0.15)
PUFA 20:4 Hannum -0.0125429 0.9240942 -0.3021278 0.2770420 819 -0.01 (-0.3, 0.28)
PUFA 20:4 Lin -0.0148429 0.9383707 -0.4371672 0.4074815 819 -0.01 (-0.44, 0.41)
PUFA 20:4 Zhang -0.0306474 0.3938447 -0.1080678 0.0467730 819 -0.03 (-0.11, 0.05)
PUFA 20:4 VidalBralo -0.1423673 0.1968502 -0.3734416 0.0887070 819 -0.14 (-0.37, 0.09)
PUFA 20:4 PhenoAge 0.0402656 0.8024705 -0.3132628 0.3937939 819 0.04 (-0.31, 0.39)
PUFA 20:4 GrimAge2 -0.0008343 0.9895456 -0.1409302 0.1392616 819 0 (-0.14, 0.14)
PUFA 20:4 DNAmTL 0.0012000 0.7874824 -0.0085735 0.0109735 819 0 (-0.01, 0.01)
PUFA 20:4 YangCell -0.0142144 0.4330948 -0.0534017 0.0249728 819 -0.01 (-0.05, 0.02)
PUFA 20:4 DunedinPoAm 0.0152790 0.3652512 -0.0209707 0.0515286 819 0.02 (-0.02, 0.05)
PUFA 18:3 Horvath1 -0.5203228 0.0725176 -1.0991398 0.0584943 819 -0.52 (-1.1, 0.06)
PUFA 18:3 Horvath2 -0.2291530 0.3121157 -0.7132392 0.2549333 819 -0.23 (-0.71, 0.25)
PUFA 18:3 Hannum -0.9681645 0.0127490 -1.6749557 -0.2613732 819 -0.97 (-1.67, -0.26)
PUFA 18:3 Lin -0.3937308 0.2947193 -1.1942807 0.4068190 819 -0.39 (-1.19, 0.41)
PUFA 18:3 Zhang -0.1332215 0.1323901 -0.3153602 0.0489171 819 -0.13 (-0.32, 0.05)
PUFA 18:3 VidalBralo -0.2964534 0.3425284 -0.9657501 0.3728434 819 -0.3 (-0.97, 0.37)
PUFA 18:3 PhenoAge -0.7275194 0.0679568 -1.5211603 0.0661215 819 -0.73 (-1.52, 0.07)
PUFA 18:3 GrimAge2 -0.3617735 0.1547409 -0.8886027 0.1650557 819 -0.36 (-0.89, 0.17)
PUFA 18:3 DNAmTL 0.0132995 0.2703522 -0.0123171 0.0389160 819 0.01 (-0.01, 0.04)
PUFA 18:3 YangCell -0.0032620 0.9453207 -0.1078980 0.1013741 819 0 (-0.11, 0.1)
PUFA 18:3 DunedinPoAm -0.0497276 0.3891190 -0.1740468 0.0745916 819 -0.05 (-0.17, 0.07)
PUFA 20:5 Horvath1 -0.0445698 0.4655914 -0.1768946 0.0877549 819 -0.04 (-0.18, 0.09)
PUFA 20:5 Horvath2 0.0139364 0.7312765 -0.0750465 0.1029192 819 0.01 (-0.08, 0.1)
PUFA 20:5 Hannum -0.0839367 0.2282721 -0.2308073 0.0629340 819 -0.08 (-0.23, 0.06)
PUFA 20:5 Lin -0.0089603 0.9172897 -0.1987482 0.1808276 819 -0.01 (-0.2, 0.18)
PUFA 20:5 Zhang -0.0172004 0.3047169 -0.0529510 0.0185503 819 -0.02 (-0.05, 0.02)
PUFA 20:5 VidalBralo -0.0490138 0.5019543 -0.2075369 0.1095093 819 -0.05 (-0.21, 0.11)
PUFA 20:5 PhenoAge -0.1563489 0.1265581 -0.3664327 0.0537348 819 -0.16 (-0.37, 0.05)
PUFA 20:5 GrimAge2 -0.0287048 0.5244708 -0.1267727 0.0693630 819 -0.03 (-0.13, 0.07)
PUFA 20:5 DNAmTL 0.0036111 0.1384960 -0.0014143 0.0086364 819 0 (0, 0.01)
PUFA 20:5 YangCell -0.0030191 0.7247389 -0.0218158 0.0157777 819 0 (-0.02, 0.02)
PUFA 20:5 DunedinPoAm -0.0027283 0.8222130 -0.0294048 0.0239483 819 0 (-0.03, 0.02)
PUFA 22:5 Horvath1 -0.0891261 0.1477652 -0.2164489 0.0381968 819 -0.09 (-0.22, 0.04)
PUFA 22:5 Horvath2 -0.0202685 0.5140728 -0.0877710 0.0472341 819 -0.02 (-0.09, 0.05)
PUFA 22:5 Hannum -0.0974194 0.0721437 -0.2056204 0.0107817 819 -0.1 (-0.21, 0.01)
PUFA 22:5 Lin -0.0330929 0.6859779 -0.2123294 0.1461436 819 -0.03 (-0.21, 0.15)
PUFA 22:5 Zhang -0.0259287 0.0978722 -0.0576916 0.0058342 819 -0.03 (-0.06, 0.01)
PUFA 22:5 VidalBralo -0.0581525 0.3557181 -0.1932768 0.0769717 819 -0.06 (-0.19, 0.08)
PUFA 22:5 PhenoAge -0.1272725 0.1723175 -0.3214606 0.0669156 819 -0.13 (-0.32, 0.07)
PUFA 22:5 GrimAge2 -0.0533608 0.1952213 -0.1396236 0.0329020 819 -0.05 (-0.14, 0.03)
PUFA 22:5 DNAmTL 0.0027769 0.2706324 -0.0025751 0.0081288 819 0 (0, 0.01)
PUFA 22:5 YangCell 0.0010109 0.9115873 -0.0190134 0.0210352 819 0 (-0.02, 0.02)
PUFA 22:5 DunedinPoAm -0.0045515 0.7178365 -0.0321607 0.0230577 819 0 (-0.03, 0.02)
PUFA 22:6 Horvath1 -0.1150422 0.0692479 -0.2412473 0.0111629 819 -0.12 (-0.24, 0.01)
PUFA 22:6 Horvath2 -0.0599459 0.1137774 -0.1373700 0.0174781 819 -0.06 (-0.14, 0.02)
PUFA 22:6 Hannum -0.1435690 0.0334479 -0.2730910 -0.0140471 819 -0.14 (-0.27, -0.01)
PUFA 22:6 Lin 0.0032638 0.9736114 -0.2138224 0.2203499 819 0 (-0.21, 0.22)
PUFA 22:6 Zhang -0.0283363 0.1252265 -0.0662587 0.0095861 819 -0.03 (-0.07, 0.01)
PUFA 22:6 VidalBralo -0.0637486 0.3793112 -0.2197229 0.0922256 819 -0.06 (-0.22, 0.09)
PUFA 22:6 PhenoAge -0.1724784 0.0946122 -0.3813599 0.0364030 819 -0.17 (-0.38, 0.04)
PUFA 22:6 GrimAge2 -0.0438902 0.2992228 -0.1340197 0.0462393 819 -0.04 (-0.13, 0.05)
PUFA 22:6 DNAmTL 0.0030263 0.2070650 -0.0020093 0.0080618 819 0 (0, 0.01)
PUFA 22:6 YangCell -0.0113672 0.2379697 -0.0317102 0.0089758 819 -0.01 (-0.03, 0.01)
PUFA 22:6 DunedinPoAm 0.0006543 0.9532093 -0.0238800 0.0251887 819 0 (-0.02, 0.03)

Sensitivity analyses with imputed covatiates

load("nhanes_fattyAcids_clean_data.RData")
set.seed(123)

df_use = df[df$use_fat,]

# check that covariates are coded as numbers
table(df_use$RIAGENDR)

table(df_use$RIDRETH1)

table(df_use$active_modvig)
#   No  Yes 
# 1197 1022
df_use$active_modvig = ifelse(df_use$active_modvig == 'No', 0,
                        ifelse(df_use$active_modvig == 'Yes', 1, NA))
table(df_use$active_modvig)
#    0    1 
# 1197 1022 

table(df_use$SMOKE_3cat)
#   Never  Former Current 
#     1004     863     349  
df_use$SMOKE_3cat <- ifelse(df_use$SMOKE_3cat == "Never", 0, 
                        ifelse(df_use$SMOKE_3cat == "Former", 1, 
                        ifelse(df_use$SMOKE_3cat == "Current", 2, NA)))
table(df_use$SMOKE_3cat)
#    0    1    2 
# 1004  863  349 

table(df_use$EDUCATION)
# High School Diploma (including GED)               Less Than High School               More Than High School 
#                                455                                 995                                 770 
df_use$EDUCATION <- ifelse(df_use$EDUCATION == "Less Than High School", 0, 
                        ifelse(df_use$EDUCATION == "High School Diploma (including GED)", 1, 
                        ifelse(df_use$EDUCATION == "More Than High School", 2, NA)))
table(df_use$EDUCATION)     
#    0    1    2 
#   995 455 770  

table(df_use$OCCUPATION)
#   hiblue  hiwhite  lowblue lowwhite   nowork 
#       301      505      857      376       55 
df_use$OCCUPATION <- ifelse(df_use$OCCUPATION == "lowblue", 0, ifelse(df_use$OCCUPATION == "hiblue", 1, 
                ifelse(df_use$OCCUPATION == "lowwhite", 2, ifelse(df_use$OCCUPATION == "hiwhite", 3, 
                                                       ifelse(df_use$OCCUPATION == "nowork", 4, NA)))))
table(df_use$OCCUPATION)
#   0   1   2   3   4 
# 857 301 376 505  55  

df_use$RIAGENDR <- as.factor(df_use$RIAGENDR)
df_use$RIDRETH1 <- as.factor(df_use$RIDRETH1)
df_use$EDUCATION <- as.factor(df_use$EDUCATION)
df_use$OCCUPATION <- as.factor(df_use$OCCUPATION)
df_use$SMOKE_3cat <- as.factor(df_use$SMOKE_3cat)
df_use$INDFMPIR <- as.numeric(df_use$INDFMPIR)   
df_use$active_modvig <- as.numeric(df_use$active_modvig)

# subset dataset to just covariates
# mice will try to impute any missing value so will rejoin imputed covariates with the exposures/outcomes after
subs <- df_use %>% 
  dplyr::select(RIDAGEYR, RIAGENDR, RIDRETH1, BMXBMI, DRXTKCAL, active_modvig, EDUCATION, OCCUPATION, INDFMPIR, drinkvol, SMOKE_3cat)
non_subs <- df_use %>% 
  dplyr::select(-RIDAGEYR, -RIAGENDR, -RIDRETH1, -BMXBMI, -DRXTKCAL, -active_modvig, -EDUCATION, -OCCUPATION, -INDFMPIR, -drinkvol, -SMOKE_3cat)

df_imp <- mice(subs, m = 5)              # imputation with 5 iterations 
df_imp <- mice::cbind(df_imp, non_subs)  # rejoin exposure/outcome data

# output is 5 iterations of complete datasets, each iteration can be accessed with the complete function
table(df_use$OCCUPATION)                            # original non-imputer values
#   0   1   2   3   4 
# 857 301 376 505  55
table(complete(df_imp, action = 2)$OCCUPATION)  # after imputation from the 2nd iteration
#   0   1   2   3   4 
# 928 310 399 524  59 


# create imputation list compatible with survey design
l <- list((complete(df_imp, action = 1)), (complete(df_imp, action = 2)), (complete(df_imp, action = 3)), 
          (complete(df_imp, action = 4)), (complete(df_imp, action = 5)))
df_imp_list <- imputationList(l) 

# specify survey design
nhanesDesign_impute <- svydesign(id = ~SDMVPSU,  # Primary Sampling Units (PSU)
                          strata  = ~SDMVSTRA, # Stratification used in the survey
                          weights = ~WTDN4YR,   # Survey weights (using those from DNAm dataset)
                          nest    = TRUE,      # Whether PSUs are nested within strata
                          data    = df_imp_list)  # only change from non-imputed version

dim(nhanesDesign_impute)
# 2220  288    5

Associations with fatty acid intake

fat_res_alcSmkAct_imp = data.frame(nutrient = rep(c('Total fat', 'Saturated fat', 'Monounsaturated fat', 'Polyunsaturated fat', 'P:S ratio', 'Omega-3', 'Omega-6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 7),
  coef = NA, p = NA, CI_L = NA, CI_H = NA)

# NHANES variable names
# vars_fat = c('DRXTTFAT', 'DRXTSFAT', 'DRXTMFAT', 'DRXTPFAT', 'psatfatRatio', 'psatfatRatioGt1', 'omega3', 'omega6', 'omegaRatio', 'omegaRatio5')
vars_fat = c('DRXTTFAT_log2', 'DRXTSFAT_log2', 'DRXTMFAT_log2', 'DRXTPFAT_log2', 'psatfatRatio', 'omega3_log2', 'omega6_log2')
vars_ead = c('HorvathAge', 'SkinBloodAge', 'HannumAge', 'LinAge', 'ZhangAge', 'VidalBraloAge', 'PhenoAge', 'GrimAge2Mort', 'HorvathTelo', 'YangCell_scale', 'DunedinPoAm_scale')


# functions to fill in table
popTable1 = function(tab, i, j, k){
    # i = EAD variable
    # j = OCM variable
    # k = table row
    mod <- with(nhanesDesign_impute, svyglm(formula(paste0(vars_ead[i], " ~ ", vars_fat[j], " +
        RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
        BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
        factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
                        subset = use,
                        design = nhanesDesign_impute, 
                        family = gaussian()))
    tab[k,3] = summary(pool(mod), conf.int = TRUE)[2,2]
    tab[k,4] = summary(pool(mod), conf.int = TRUE)[2,6]
    tab[k,5] = summary(pool(mod), conf.int = TRUE)[2,7]
    tab[k,6] = summary(pool(mod), conf.int = TRUE)[2,8]
    return(tab)
}

popTable2 = function(tab, vars_fat, vars_ead){
    k = 1
    for (j in 1:length(vars_fat)){
        for (i in 1:length(vars_ead)){
            tab = popTable1(tab, i, j, k)
            k = k + 1
        }
    }
    return(tab)
}

fat_res_alcSmkAct_imp = popTable2(fat_res_alcSmkAct_imp, vars_fat, vars_ead)

fat_res_alcSmkAct_imp$B_CI = paste0(round(fat_res_alcSmkAct_imp$coef, 2), ' ', fat_res_alcSmkAct_imp$CI)

write.csv(fat_res_alcSmkAct_imp, 'fat_res_alcSmkAct_imp.csv')
nutrient clock coef p CI_L CI_H B_CI
Total fat Horvath1 -0.4981129 0.1479306 -1.2264653 0.2302395 -0.5
Total fat Horvath2 -0.1853722 0.4489085 -0.7377512 0.3670067 -0.19
Total fat Hannum -0.2333921 0.5202538 -1.0575450 0.5907609 -0.23
Total fat Lin -0.4768704 0.3756668 -1.6813391 0.7275982 -0.48
Total fat Zhang -0.0421933 0.6578074 -0.2605532 0.1761666 -0.04
Total fat VidalBralo 0.1122775 0.8046684 -0.9334909 1.1580460 0.11
Total fat PhenoAge -0.2231356 0.6054042 -1.2097407 0.7634694 -0.22
Total fat GrimAge2 0.3565550 0.1610589 -0.1847268 0.8978367 0.36
Total fat DNAmTL 0.0059993 0.6185851 -0.0215502 0.0335487 0.01
Total fat YangCell -0.0595173 0.2983791 -0.1859133 0.0668788 -0.06
Total fat DunedinPoAm 0.0482930 0.4223244 -0.0870652 0.1836512 0.05
Saturated fat Horvath1 0.0361469 0.8454274 -0.3912918 0.4635856 0.04
Saturated fat Horvath2 0.0962034 0.6035043 -0.3269645 0.5193713 0.1
Saturated fat Hannum 0.1323423 0.5837411 -0.4186580 0.6833427 0.13
Saturated fat Lin -0.3285733 0.3044414 -1.0366193 0.3794727 -0.33
Saturated fat Zhang 0.0318135 0.6089386 -0.1103621 0.1739890 0.03
Saturated fat VidalBralo 0.3262868 0.2838384 -0.3441991 0.9967727 0.33
Saturated fat PhenoAge 0.2314511 0.4418778 -0.4469483 0.9098505 0.23
Saturated fat GrimAge2 0.3945685 0.0626691 -0.0278625 0.8169995 0.39
Saturated fat DNAmTL 0.0055647 0.5111359 -0.0136512 0.0247806 0.01
Saturated fat YangCell -0.0688413 0.1050657 -0.1566600 0.0189774 -0.07
Saturated fat DunedinPoAm 0.0518336 0.2693270 -0.0511954 0.1548626 0.05
Monounsaturated fat Horvath1 -0.4241555 0.1636670 -1.0726574 0.2243464 -0.42
Monounsaturated fat Horvath2 -0.1184567 0.5590911 -0.5803350 0.3434216 -0.12
Monounsaturated fat Hannum 0.0006782 0.9983329 -0.7487251 0.7500815 0
Monounsaturated fat Lin -0.2535323 0.5802141 -1.2996237 0.7925591 -0.25
Monounsaturated fat Zhang -0.0323304 0.7052557 -0.2286488 0.1639880 -0.03
Monounsaturated fat VidalBralo 0.2290421 0.5603497 -0.6667007 1.1247849 0.23
Monounsaturated fat PhenoAge 0.1460282 0.7069830 -0.7458665 1.0379229 0.15
Monounsaturated fat GrimAge2 0.4025665 0.0741681 -0.0522967 0.8574297 0.4
Monounsaturated fat DNAmTL -0.0074008 0.4795405 -0.0310827 0.0162811 -0.01
Monounsaturated fat YangCell -0.0401722 0.4590374 -0.1626748 0.0823304 -0.04
Monounsaturated fat DunedinPoAm 0.0811453 0.1016481 -0.0211180 0.1834085 0.08
Polyunsaturated fat Horvath1 -0.6049171 0.0288517 -1.1250104 -0.0848238 -0.6
Polyunsaturated fat Horvath2 -0.3730450 0.0645517 -0.7761637 0.0300736 -0.37
Polyunsaturated fat Hannum -0.5307646 0.0427309 -1.0381031 -0.0234261 -0.53
Polyunsaturated fat Lin -0.4618855 0.1554923 -1.1522812 0.2285103 -0.46
Polyunsaturated fat Zhang -0.0940464 0.1541407 -0.2340672 0.0459743 -0.09
Polyunsaturated fat VidalBralo -0.2643938 0.3063550 -0.8360315 0.3072440 -0.26
Polyunsaturated fat PhenoAge -0.5668436 0.0468119 -1.1229315 -0.0107556 -0.57
Polyunsaturated fat GrimAge2 -0.1618346 0.3301122 -0.5309149 0.2072458 -0.16
Polyunsaturated fat DNAmTL 0.0045841 0.5666466 -0.0136427 0.0228109 0
Polyunsaturated fat YangCell -0.0219324 0.5301049 -0.1013177 0.0574529 -0.02
Polyunsaturated fat DunedinPoAm -0.0178408 0.6377342 -0.1045402 0.0688586 -0.02
P:S ratio Horvath1 -0.8337459 0.0158605 -1.4527995 -0.2146923 -0.83
P:S ratio Horvath2 -0.4916596 0.1009825 -1.1097677 0.1264485 -0.49
P:S ratio Hannum -0.7241872 0.0524248 -1.4585599 0.0101855 -0.72
P:S ratio Lin -0.2263061 0.5383285 -1.0625267 0.6099144 -0.23
P:S ratio Zhang -0.1374630 0.0880777 -0.3020709 0.0271449 -0.14
P:S ratio VidalBralo -0.6955251 0.0547428 -1.4099967 0.0189465 -0.7
P:S ratio PhenoAge -0.9726576 0.0294962 -1.8136596 -0.1316557 -0.97
P:S ratio GrimAge2 -0.5528632 0.0560085 -1.1247126 0.0189863 -0.55
P:S ratio DNAmTL 0.0051794 0.6818424 -0.0237937 0.0341524 0.01
P:S ratio YangCell 0.0376342 0.4180842 -0.0668452 0.1421137 0.04
P:S ratio DunedinPoAm -0.0762505 0.0997451 -0.1716865 0.0191856 -0.08
Omega-3 Horvath1 -0.6052002 0.0190213 -1.0742934 -0.1361071 -0.61
Omega-3 Horvath2 -0.3702007 0.0431790 -0.7251013 -0.0153000 -0.37
Omega-3 Hannum -0.6560135 0.0201857 -1.1718363 -0.1401907 -0.66
Omega-3 Lin -0.5166830 0.1126115 -1.1933131 0.1599470 -0.52
Omega-3 Zhang -0.1153983 0.0674424 -0.2418437 0.0110471 -0.12
Omega-3 VidalBralo -0.4732572 0.0636959 -0.9825179 0.0360035 -0.47
Omega-3 PhenoAge -0.8486458 0.0156228 -1.4765252 -0.2207663 -0.85
Omega-3 GrimAge2 -0.3320346 0.0749389 -0.7084835 0.0444144 -0.33
Omega-3 DNAmTL 0.0185979 0.0329136 0.0020461 0.0351498 0.02
Omega-3 YangCell -0.0268583 0.4051836 -0.0992771 0.0455604 -0.03
Omega-3 DunedinPoAm -0.0136658 0.7002093 -0.0951204 0.0677888 -0.01
Omega-6 Horvath1 -0.5310397 0.0549375 -1.0771268 0.0150474 -0.53
Omega-6 Horvath2 -0.3353396 0.1036234 -0.7609622 0.0902830 -0.34
Omega-6 Hannum -0.4597949 0.0756897 -0.9827919 0.0632022 -0.46
Omega-6 Lin -0.3874250 0.2487073 -1.1215906 0.3467405 -0.39
Omega-6 Zhang -0.0792380 0.2280516 -0.2221740 0.0636980 -0.08
Omega-6 VidalBralo -0.2047954 0.4212612 -0.7773763 0.3677855 -0.2
Omega-6 PhenoAge -0.4592560 0.1052350 -1.0454892 0.1269771 -0.46
Omega-6 GrimAge2 -0.1115091 0.4949990 -0.4817819 0.2587637 -0.11
Omega-6 DNAmTL 0.0032414 0.6661047 -0.0139720 0.0204548 0
Omega-6 YangCell -0.0176734 0.5945400 -0.0934733 0.0581265 -0.02
Omega-6 DunedinPoAm -0.0124869 0.7397319 -0.0988895 0.0739156 -0.01

Associations with individual fatty acids

# without scaling epigenetic age variables
vars_ead = c("HorvathAge", "SkinBloodAge", "HannumAge", "LinAge", "ZhangAge", "VidalBraloAge", "PhenoAge", "GrimAge2Mort", "HorvathTelo", "YangCell_scale", "DunedinPoAm_scale")
subtypes = c("DRXTS040_log2", "DRXTS060_log2", "DRXTS080_log2", "DRXTS100_log2", "DRXTS120_log2", "DRXTS140_log2", "DRXTS160_log2", "DRXTS180_log2", "DRXTM161_log2", 
        "DRXTM181_log2", "DRXTM201_log2", "DRXTM221_log2", "DRXTP182_log2", "DRXTP204_log2", "DRXTP183_log2", "DRXTP205_log2", "DRXTP225_log2", "DRXTP226_log2")

subtypes_res_imp = data.frame(nutrient = rep(c('SFA 4:0', 'SFA 6:0', 'SFA 8:0', 'SFA 10:0', 'SFA 12:0', 'SFA 14:0', 'SFA 16:0', 'SFA 18:0',
                            'MUFA 16:1', 'MUFA 18:1', 'MUFA 20:1', 'MUFA 22:1',
                            'PUFA 18:2', 'PUFA 20:4', 'PUFA 18:3', 'PUFA 20:5', 'PUFA 22:5', 'PUFA 22:6'), each = 11),
  clock = rep(c('Horvath1', 'Horvath2', 'Hannum', 'Lin', 'Zhang', 'VidalBralo', 'PhenoAge', 'GrimAge2', 
        'DNAmTL', 'YangCell', 'DunedinPoAm'), times = 18),
  coef = NA, p = NA, CI_L = NA, CI_H = NA)

# functions to fill in table
popTable1_subtypes_imp = function(tab, i, j, k){
    # i = EAD variable
    # j = fat variable
    # k = table row
    mod = with(nhanesDesign_impute, svyglm(formula(paste0(vars_ead[i], " ~ ", subtypes[j], " +
            RIDAGEYR + I(RIDAGEYR^2) + factor(RIAGENDR) + factor(RIDRETH1) +
            BMXBMI + DRXTKCAL + factor(SMOKE_3cat) + drinkvol + factor(active_modvig) +
            factor(EDUCATION) + factor(OCCUPATION) + INDFMPIR")),
            design = nhanesDesign_use, 
            family = gaussian()))
    tab[k,3] = summary(pool(mod), conf.int = TRUE)[2,2]
    tab[k,4] = summary(pool(mod), conf.int = TRUE)[2,6]
    tab[k,5] = summary(pool(mod), conf.int = TRUE)[2,7]
    tab[k,6] = summary(pool(mod), conf.int = TRUE)[2,8]
    return(tab)
}

popTable2_subtypes_imp = function(tab, subtypes, vars_ead){
    k = 1
    for (j in 1:length(subtypes)){
        for (i in 1:length(vars_ead)){
            tab = popTable1_subtypes_imp(tab, i, j, k)
            k = k + 1
        }
    }
    return(tab)
}

subtypes_res_imp = popTable2_subtypes_imp(subtypes_res_imp, subtypes, vars_ead)

subtypes_res_imp$B_CI = paste0(round(subtypes_res_imp$coef, 2), ' (', round(subtypes_res_imp$CI_L, 2), ', ', round(subtypes_res_imp$CI_H, 2), ')')

write.csv(subtypes_res_imp, 'subtypes_res_noScale_imp.csv')
nutrient clock coef p CI_L CI_H
SFA 4:0 Horvath1 NA NA NA NA
SFA 4:0 Horvath2 NA NA NA NA
SFA 4:0 Hannum NA NA NA NA
SFA 4:0 Lin NA NA NA NA
SFA 4:0 Zhang NA NA NA NA
SFA 4:0 VidalBralo NA NA NA NA
SFA 4:0 PhenoAge NA NA NA NA
SFA 4:0 GrimAge2 NA NA NA NA
SFA 4:0 DNAmTL NA NA NA NA
SFA 4:0 YangCell NA NA NA NA
SFA 4:0 DunedinPoAm NA NA NA NA
SFA 6:0 Horvath1 NA NA NA NA
SFA 6:0 Horvath2 NA NA NA NA
SFA 6:0 Hannum NA NA NA NA
SFA 6:0 Lin NA NA NA NA
SFA 6:0 Zhang NA NA NA NA
SFA 6:0 VidalBralo NA NA NA NA
SFA 6:0 PhenoAge NA NA NA NA
SFA 6:0 GrimAge2 NA NA NA NA
SFA 6:0 DNAmTL NA NA NA NA
SFA 6:0 YangCell NA NA NA NA
SFA 6:0 DunedinPoAm NA NA NA NA
SFA 8:0 Horvath1 NA NA NA NA
SFA 8:0 Horvath2 NA NA NA NA
SFA 8:0 Hannum NA NA NA NA
SFA 8:0 Lin NA NA NA NA
SFA 8:0 Zhang NA NA NA NA
SFA 8:0 VidalBralo NA NA NA NA
SFA 8:0 PhenoAge NA NA NA NA
SFA 8:0 GrimAge2 NA NA NA NA
SFA 8:0 DNAmTL NA NA NA NA
SFA 8:0 YangCell NA NA NA NA
SFA 8:0 DunedinPoAm NA NA NA NA
SFA 10:0 Horvath1 NA NA NA NA
SFA 10:0 Horvath2 NA NA NA NA
SFA 10:0 Hannum NA NA NA NA
SFA 10:0 Lin NA NA NA NA
SFA 10:0 Zhang NA NA NA NA
SFA 10:0 VidalBralo NA NA NA NA
SFA 10:0 PhenoAge NA NA NA NA
SFA 10:0 GrimAge2 NA NA NA NA
SFA 10:0 DNAmTL NA NA NA NA
SFA 10:0 YangCell NA NA NA NA
SFA 10:0 DunedinPoAm NA NA NA NA
SFA 12:0 Horvath1 NA NA NA NA
SFA 12:0 Horvath2 NA NA NA NA
SFA 12:0 Hannum NA NA NA NA
SFA 12:0 Lin NA NA NA NA
SFA 12:0 Zhang NA NA NA NA
SFA 12:0 VidalBralo NA NA NA NA
SFA 12:0 PhenoAge NA NA NA NA
SFA 12:0 GrimAge2 NA NA NA NA
SFA 12:0 DNAmTL NA NA NA NA
SFA 12:0 YangCell NA NA NA NA
SFA 12:0 DunedinPoAm NA NA NA NA
SFA 14:0 Horvath1 NA NA NA NA
SFA 14:0 Horvath2 NA NA NA NA
SFA 14:0 Hannum NA NA NA NA
SFA 14:0 Lin NA NA NA NA
SFA 14:0 Zhang NA NA NA NA
SFA 14:0 VidalBralo NA NA NA NA
SFA 14:0 PhenoAge NA NA NA NA
SFA 14:0 GrimAge2 NA NA NA NA
SFA 14:0 DNAmTL NA NA NA NA
SFA 14:0 YangCell NA NA NA NA
SFA 14:0 DunedinPoAm NA NA NA NA
SFA 16:0 Horvath1 NA NA NA NA
SFA 16:0 Horvath2 NA NA NA NA
SFA 16:0 Hannum NA NA NA NA
SFA 16:0 Lin NA NA NA NA
SFA 16:0 Zhang NA NA NA NA
SFA 16:0 VidalBralo NA NA NA NA
SFA 16:0 PhenoAge NA NA NA NA
SFA 16:0 GrimAge2 NA NA NA NA
SFA 16:0 DNAmTL NA NA NA NA
SFA 16:0 YangCell NA NA NA NA
SFA 16:0 DunedinPoAm NA NA NA NA
SFA 18:0 Horvath1 NA NA NA NA
SFA 18:0 Horvath2 NA NA NA NA
SFA 18:0 Hannum NA NA NA NA
SFA 18:0 Lin NA NA NA NA
SFA 18:0 Zhang NA NA NA NA
SFA 18:0 VidalBralo NA NA NA NA
SFA 18:0 PhenoAge NA NA NA NA
SFA 18:0 GrimAge2 NA NA NA NA
SFA 18:0 DNAmTL NA NA NA NA
SFA 18:0 YangCell NA NA NA NA
SFA 18:0 DunedinPoAm NA NA NA NA
MUFA 16:1 Horvath1 NA NA NA NA
MUFA 16:1 Horvath2 NA NA NA NA
MUFA 16:1 Hannum NA NA NA NA
MUFA 16:1 Lin NA NA NA NA
MUFA 16:1 Zhang NA NA NA NA
MUFA 16:1 VidalBralo NA NA NA NA
MUFA 16:1 PhenoAge NA NA NA NA
MUFA 16:1 GrimAge2 NA NA NA NA
MUFA 16:1 DNAmTL NA NA NA NA
MUFA 16:1 YangCell NA NA NA NA
MUFA 16:1 DunedinPoAm NA NA NA NA
MUFA 18:1 Horvath1 NA NA NA NA
MUFA 18:1 Horvath2 NA NA NA NA
MUFA 18:1 Hannum NA NA NA NA
MUFA 18:1 Lin NA NA NA NA
MUFA 18:1 Zhang NA NA NA NA
MUFA 18:1 VidalBralo NA NA NA NA
MUFA 18:1 PhenoAge NA NA NA NA
MUFA 18:1 GrimAge2 NA NA NA NA
MUFA 18:1 DNAmTL NA NA NA NA
MUFA 18:1 YangCell NA NA NA NA
MUFA 18:1 DunedinPoAm NA NA NA NA
MUFA 20:1 Horvath1 NA NA NA NA
MUFA 20:1 Horvath2 NA NA NA NA
MUFA 20:1 Hannum NA NA NA NA
MUFA 20:1 Lin NA NA NA NA
MUFA 20:1 Zhang NA NA NA NA
MUFA 20:1 VidalBralo NA NA NA NA
MUFA 20:1 PhenoAge NA NA NA NA
MUFA 20:1 GrimAge2 NA NA NA NA
MUFA 20:1 DNAmTL NA NA NA NA
MUFA 20:1 YangCell NA NA NA NA
MUFA 20:1 DunedinPoAm NA NA NA NA
MUFA 22:1 Horvath1 NA NA NA NA
MUFA 22:1 Horvath2 NA NA NA NA
MUFA 22:1 Hannum NA NA NA NA
MUFA 22:1 Lin NA NA NA NA
MUFA 22:1 Zhang NA NA NA NA
MUFA 22:1 VidalBralo NA NA NA NA
MUFA 22:1 PhenoAge NA NA NA NA
MUFA 22:1 GrimAge2 NA NA NA NA
MUFA 22:1 DNAmTL NA NA NA NA
MUFA 22:1 YangCell NA NA NA NA
MUFA 22:1 DunedinPoAm NA NA NA NA
PUFA 18:2 Horvath1 NA NA NA NA
PUFA 18:2 Horvath2 NA NA NA NA
PUFA 18:2 Hannum NA NA NA NA
PUFA 18:2 Lin NA NA NA NA
PUFA 18:2 Zhang NA NA NA NA
PUFA 18:2 VidalBralo NA NA NA NA
PUFA 18:2 PhenoAge NA NA NA NA
PUFA 18:2 GrimAge2 NA NA NA NA
PUFA 18:2 DNAmTL NA NA NA NA
PUFA 18:2 YangCell NA NA NA NA
PUFA 18:2 DunedinPoAm NA NA NA NA
PUFA 20:4 Horvath1 NA NA NA NA
PUFA 20:4 Horvath2 NA NA NA NA
PUFA 20:4 Hannum NA NA NA NA
PUFA 20:4 Lin NA NA NA NA
PUFA 20:4 Zhang NA NA NA NA
PUFA 20:4 VidalBralo NA NA NA NA
PUFA 20:4 PhenoAge NA NA NA NA
PUFA 20:4 GrimAge2 NA NA NA NA
PUFA 20:4 DNAmTL NA NA NA NA
PUFA 20:4 YangCell NA NA NA NA
PUFA 20:4 DunedinPoAm NA NA NA NA
PUFA 18:3 Horvath1 NA NA NA NA
PUFA 18:3 Horvath2 NA NA NA NA
PUFA 18:3 Hannum NA NA NA NA
PUFA 18:3 Lin NA NA NA NA
PUFA 18:3 Zhang NA NA NA NA
PUFA 18:3 VidalBralo NA NA NA NA
PUFA 18:3 PhenoAge NA NA NA NA
PUFA 18:3 GrimAge2 NA NA NA NA
PUFA 18:3 DNAmTL NA NA NA NA
PUFA 18:3 YangCell NA NA NA NA
PUFA 18:3 DunedinPoAm NA NA NA NA
PUFA 20:5 Horvath1 NA NA NA NA
PUFA 20:5 Horvath2 NA NA NA NA
PUFA 20:5 Hannum NA NA NA NA
PUFA 20:5 Lin NA NA NA NA
PUFA 20:5 Zhang NA NA NA NA
PUFA 20:5 VidalBralo NA NA NA NA
PUFA 20:5 PhenoAge NA NA NA NA
PUFA 20:5 GrimAge2 NA NA NA NA
PUFA 20:5 DNAmTL NA NA NA NA
PUFA 20:5 YangCell NA NA NA NA
PUFA 20:5 DunedinPoAm NA NA NA NA
PUFA 22:5 Horvath1 NA NA NA NA
PUFA 22:5 Horvath2 NA NA NA NA
PUFA 22:5 Hannum NA NA NA NA
PUFA 22:5 Lin NA NA NA NA
PUFA 22:5 Zhang NA NA NA NA
PUFA 22:5 VidalBralo NA NA NA NA
PUFA 22:5 PhenoAge NA NA NA NA
PUFA 22:5 GrimAge2 NA NA NA NA
PUFA 22:5 DNAmTL NA NA NA NA
PUFA 22:5 YangCell NA NA NA NA
PUFA 22:5 DunedinPoAm NA NA NA NA
PUFA 22:6 Horvath1 NA NA NA NA
PUFA 22:6 Horvath2 NA NA NA NA
PUFA 22:6 Hannum NA NA NA NA
PUFA 22:6 Lin NA NA NA NA
PUFA 22:6 Zhang NA NA NA NA
PUFA 22:6 VidalBralo NA NA NA NA
PUFA 22:6 PhenoAge NA NA NA NA
PUFA 22:6 GrimAge2 NA NA NA NA
PUFA 22:6 DNAmTL NA NA NA NA
PUFA 22:6 YangCell NA NA NA NA
PUFA 22:6 DunedinPoAm NA NA NA NA