##############################################
############## CARREGAR PACOTES ##############
##############################################

library(tidyverse)
## -- Attaching packages ---------------------------------------------------------------- tidyverse 1.2.1 --
## v ggplot2 3.1.0     v purrr   0.2.5
## v tibble  1.4.2     v dplyr   0.7.8
## v tidyr   0.8.1     v stringr 1.3.1
## v readr   1.1.1     v forcats 0.3.0
## -- Conflicts ------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(data.table)
## 
## Attaching package: 'data.table'
## The following objects are masked from 'package:dplyr':
## 
##     between, first, last
## The following object is masked from 'package:purrr':
## 
##     transpose
library(readstata13)

library(ggplot2)
library(corrplot) # https://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html
## corrplot 0.84 loaded
library(agricolae)
library(vegan)
## Loading required package: permute
## Loading required package: lattice
## This is vegan 2.5-3
library(BiodiversityR)
## Loading required package: tcltk
## BiodiversityR 2.10-1: Use command BiodiversityRGUI() to launch the Graphical User Interface; 
## to see changes use BiodiversityRGUI(changeLog=TRUE, backward.compatibility.messages=TRUE)
library(NCStats) # para instalar: source("http://www.rforge.net/NCStats/InstallNCStats.R")
## Loading required package: FSA
## ## FSA v0.8.22. See citation('FSA') if used in publication.
## ## Run fishR() for related website and fishR('IFAR') for related book.
## ## NCStats v0.4.7 by Derek H. Ogle, Northland College.
## 
## Attaching package: 'NCStats'
## The following object is masked from 'package:FSA':
## 
##     rSquared
library(qwraps2)
library(summarytools)
## 
## Attaching package: 'summarytools'
## The following object is masked from 'package:NCStats':
## 
##     view
library(knitr)
library(kableExtra) # https://cran.r-project.org/web/packages/kableExtra/vignettes/awesome_table_in_html.html#overview
library(Rmisc)
## Loading required package: plyr
## -------------------------------------------------------------------------
## You have loaded plyr after dplyr - this is likely to cause problems.
## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
## library(plyr); library(dplyr)
## -------------------------------------------------------------------------
## 
## Attaching package: 'plyr'
## The following objects are masked from 'package:dplyr':
## 
##     arrange, count, desc, failwith, id, mutate, rename, summarise,
##     summarize
## The following object is masked from 'package:purrr':
## 
##     compact
library(nortest)


##############################################
########## CARREGAR BANCO DE DADOS ###########
##############################################

banco = readstata13::read.dta13(file.choose()) # bancofinalwide281118.dta


##############################################
############ RENOMEAR VARIÁVEIS ##############
##############################################

banco=dplyr::rename(banco, 
             parity=nativivoss1, 
             schooling=anos_de_estudo1, 
             mother_age=idade_mae_calc1,
             total_energy=new_kcal_total2,
             total_protein=prottotal2,
             total_fat=liptotal2,
             total_carbohydrates=carbtotal2,
             total_fiber=fibrtotal2,
             saturated_fat=sattotal2,
             unsaturated_fat=instotal2,
             calcium=calciototal2, 
             iron=ferrototal2,
             tryptophan=triptofanototal2,
             
             HMOSecretor=HMOSecretor3,                  
             Diversity_7d=Diversity3,                   
             Evenness_7d=Evenness3,                     
             "2'FL_7d"=FL2nmolmL3,                   
             "3FL_7d"=FL3nmolmL3,                    
             LNnT_7d=LNnTnmolmL3,                  
             "3'SL_7d"=SL3nmolmL3,                    
             DFLac_7d=DFLacnmolmL3,                 
             "6'SL_7d"=SL6nmolmL3,                    
             LNT_7d=LNTnmolmL3,                  
             LNFPI_7d=LNFPInmolmL3,                  
             LNFPII_7d=LNFPIInmolmL3,                
             LNFPIII_7d=LNFPIIInmolmL3,                
             LSTb_7d=LSTbnmolmL3,                  
             LSTc_7d=LSTcnmolmL3,                   
             DFLNT_7d=DFLNTnmolmL3,                 
             LNH_7d=LNHnmolmL3,                    
             DSLNT_7d=DSLNTnmolmL3,                 
             FLNH_7d=FLNHnmolmL3,                   
             DFLNH_7d=DFLNHnmolmL3,                 
             FDSLNH_7d=FDSLNHnmolmL3,                 
             DSLNH_7d=DSLNHnmolmL3,                 
             SUM_7d=SUMnmolmL3,                    
             Sia_7d=SianmolmL3,                   
             Fuc_7d=FucnmolmL3,
             
             HMOSecretor_1m=HMOSecretor4,                  
             Diversity_1m=Diversity4,                   
             Evenness_1m=Evenness4,                     
             "2'FL_1m"=FL2nmolmL4,                   
             "3FL_1m"=FL3nmolmL4,                    
             LNnT_1m=LNnTnmolmL4,                  
             "3'SL_1m"=SL3nmolmL4,                    
             DFLac_1m=DFLacnmolmL4,                 
             "6'SL_1m"=SL6nmolmL4,                    
             LNT_1m=LNTnmolmL4,                  
             LNFPI_1m=LNFPInmolmL4,                  
             LNFPII_1m=LNFPIInmolmL4,                
             LNFPIII_1m=LNFPIIInmolmL4,                
             LSTb_1m=LSTbnmolmL4,                  
             LSTc_1m=LSTcnmolmL4,                   
             DFLNT_1m=DFLNTnmolmL4,                 
             LNH_1m=LNHnmolmL4,                    
             DSLNT_1m=DSLNTnmolmL4,                 
             FLNH_1m=FLNHnmolmL4,                   
             DFLNH_1m=DFLNHnmolmL4,                 
             FDSLNH_1m=FDSLNHnmolmL4,                 
             DSLNH_1m=DSLNHnmolmL4,                 
             SUM_1m=SUMnmolmL4,                    
             Sia_1m=SianmolmL4,                   
             Fuc_1m=FucnmolmL4,
             
             HMOSecretor_3m=HMOSecretor5,                  
             Diversity_3m=Diversity5,                   
             Evenness_3m=Evenness5,                     
             "2'FL_3m"=FL2nmolmL5,                   
             "3FL_3m"=FL3nmolmL5,                    
             LNnT_3m=LNnTnmolmL5,                  
             "3'SL_3m"=SL3nmolmL5,                    
             DFLac_3m=DFLacnmolmL5,                 
             "6'SL_3m"=SL6nmolmL5,                    
             LNT_3m=LNTnmolmL5,                  
             LNFPI_3m=LNFPInmolmL5,                  
             LNFPII_3m=LNFPIInmolmL5,                
             LNFPIII_3m=LNFPIIInmolmL5,                
             LSTb_3m=LSTbnmolmL5,                  
             LSTc_3m=LSTcnmolmL5,                   
             DFLNT_3m=DFLNTnmolmL5,                 
             LNH_3m=LNHnmolmL5,                    
             DSLNT_3m=DSLNTnmolmL5,                 
             FLNH_3m=FLNHnmolmL5,                   
             DFLNH_3m=DFLNHnmolmL5,                 
             FDSLNH_3m=FDSLNHnmolmL5,                 
             DSLNH_3m=DSLNHnmolmL5,                 
             SUM_3m=SUMnmolmL5,                    
             Sia_3m=SianmolmL5,                   
             Fuc_3m=FucnmolmL5)


##############################################
########## CRIAR/EDITAR VARIÁVEIS ############
##############################################

banco$peso_pg1[banco$peso_pg1==9999] = NA
# ver outras vars dietéticas = 0

banco = banco %>% mutate(
  hmo_status = case_when( 
    HMOSecretor == 1 | HMOSecretor_1m == 1 | HMOSecretor_3m == 1 ~ 1,
    HMOSecretor == 0 | HMOSecretor_1m == 0 | HMOSecretor_3m == 0 ~ 0),
  
  bmi_pg = (peso_pg1/(estatuta_mat_aferi_m4 * estatuta_mat_aferi_m4)*10000),
  gwg_3t = peso_1_aferi1 - peso_pg1,

  small_7d = `2'FL_7d` + `3FL_7d` + `3'SL_7d` + `6'SL_7d`,
  type_1_7d = LNT_7d + LNFPI_7d + LNFPII_7d + LSTb_7d + DSLNT_7d,
  type_2_7d = LNnT_7d + LNFPIII_7d + LSTc_7d,
  alfa_12_7d = LNFPI_7d + `2'FL_7d`,
  alfa_13_7d = LNFPIII_7d + `3FL_7d`,
  alfa_26_7d = LSTb_7d + LSTc_7d + `6'SL_7d`,
  
  small_1m = `2'FL_1m` + `3FL_1m` + `3'SL_1m` + `6'SL_1m`,
  type_1_1m = LNT_1m + LNFPI_1m + LNFPII_1m + LSTb_1m + DSLNT_1m,
  type_2_1m = LNnT_1m + LNFPIII_1m + LSTc_1m,
  alfa_12_1m = LNFPI_1m + `2'FL_1m`,
  alfa_13_1m = LNFPIII_1m + `3FL_1m`,
  alfa_26_1m = LSTb_1m + LSTc_1m + `6'SL_1m`,
  
  small_3m = `2'FL_3m` + `3FL_3m` + `3'SL_3m` + `6'SL_3m`,
  type_1_3m = LNT_3m + LNFPI_3m + LNFPII_3m + LSTb_3m + DSLNT_3m,
  type_2_3m = LNnT_3m + LNFPIII_3m + LSTc_3m,
  alfa_12_3m = LNFPI_3m + `2'FL_3m`,
  alfa_13_3m = LNFPIII_3m + `3FL_3m`,
  alfa_26_3m = LSTb_3m + LSTc_3m + `6'SL_3m`) 


# y = data.frame(banco$HMOSecretor, banco$HMOSecretor_1m, banco$HMOSecretor_3m, banco$hmo_status)
# banco$difdata_sgparto = banco$data_nascimentobb3-banco$data_1usg1
# banco$sg_parto = round(banco$difdata_sgparto / 7 + banco$ig_1usg1, 3)


######################################################
########### OVERVIEW - SELECTED VARIABLES ############
######################################################

# x = data.frame(names(banco))

print(
  summarytools::dfSummary(banco[,c(8,29,104,141,143,164:173,235:259,580:604,925:949,1701:1722)], 
                          graph.magnif = 0.75), 
  method = "viewer") # incluir summary(banco[,c(146,1701)]) #substituir render por viewer para abrir na janela. Mas para aparecer no relatório 
## Warning in if (grepl("^\\w+$", data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl("^\\w+\\[.*,\\s*\\-.+\\]", data_str, perl = TRUE)) {:
## a condição tem comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re1, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re2, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re3, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## unable to identify var names: banco[, c(8, 29, 104, 141, 143, 164:173, 235:259, 580:604, 925:949,     1701:1722)]
## Warning in if (grepl(re1, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re2, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re3, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re4, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Method 'viewer' only valid within RStudio. Switching method to 'browser'.
## Output file written: C:\Users\RONALD~1\AppData\Local\Temp\RtmpmoAZ4h\file9201d6d4d59.html
print(
  descr(banco[,c(8,29,104,141,143,164:173,235:259,580:604,925:949,1701:1722)], 
        stats = c("mean","sd","med","iqr","min","max","skewness","kurtosis","n.valid","pct.valid"), 
        transpose = TRUE, omit.headings = TRUE, style = "rmarkdown"),
  method = "viewer") # incluir summary(banco[,c(146,1701)]) # # 1702:1721
## Warning in if (grepl("^\\w+$", data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl("^\\w+\\[.*,\\s*\\-.+\\]", data_str, perl = TRUE)) {:
## a condição tem comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re1, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re2, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re3, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## unable to identify var names: banco[, c(8, 29, 104, 141, 143, 164:173, 235:259, 580:604, 925:949,     1701:1722)]
## Warning in if (grepl(re1, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re2, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re3, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (grepl(re4, data_str, perl = TRUE)) {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Method 'viewer' only valid within RStudio. Switching method to 'browser'.
## Output file written: C:\Users\RONALD~1\AppData\Local\Temp\RtmpmoAZ4h\file9206ed95d39.html
# names(banco[,c(238:259,1705:1710,583:604,1711:1716,928:949,1717:1722)])

D = matrix(c(
  round(lillie.test(banco[,238])$p.value, 4),
  round(lillie.test(banco[,239])$p.value, 4),
  round(lillie.test(banco[,240])$p.value, 4),
  round(lillie.test(banco[,241])$p.value, 4),
  round(lillie.test(banco[,242])$p.value, 4),
  round(lillie.test(banco[,243])$p.value, 4),
  round(lillie.test(banco[,244])$p.value, 4),
  round(lillie.test(banco[,245])$p.value, 4),
  round(lillie.test(banco[,246])$p.value, 4),
  round(lillie.test(banco[,247])$p.value, 4),
  round(lillie.test(banco[,248])$p.value, 4),
  round(lillie.test(banco[,249])$p.value, 4),
  round(lillie.test(banco[,250])$p.value, 4),
  round(lillie.test(banco[,251])$p.value, 4),
  round(lillie.test(banco[,252])$p.value, 4),
  round(lillie.test(banco[,253])$p.value, 4),
  round(lillie.test(banco[,254])$p.value, 4),
  round(lillie.test(banco[,255])$p.value, 4),
  round(lillie.test(banco[,256])$p.value, 4),
  round(lillie.test(banco[,257])$p.value, 4),
  round(lillie.test(banco[,258])$p.value, 4),
  round(lillie.test(banco[,259])$p.value, 4),
  round(lillie.test(banco[,1705])$p.value, 4),
  round(lillie.test(banco[,1706])$p.value, 4),
  round(lillie.test(banco[,1707])$p.value, 4),
  round(lillie.test(banco[,1708])$p.value, 4),
  round(lillie.test(banco[,1709])$p.value, 4),
  round(lillie.test(banco[,1710])$p.value, 4),
  
  round(shapiro.test(banco[,238])$p.value, 4),
  round(shapiro.test(banco[,239])$p.value, 4),
  round(shapiro.test(banco[,240])$p.value, 4),
  round(shapiro.test(banco[,241])$p.value, 4),
  round(shapiro.test(banco[,242])$p.value, 4),
  round(shapiro.test(banco[,243])$p.value, 4),
  round(shapiro.test(banco[,244])$p.value, 4),
  round(shapiro.test(banco[,245])$p.value, 4),
  round(shapiro.test(banco[,246])$p.value, 4),
  round(shapiro.test(banco[,247])$p.value, 4),
  round(shapiro.test(banco[,248])$p.value, 4),
  round(shapiro.test(banco[,249])$p.value, 4),
  round(shapiro.test(banco[,250])$p.value, 4),
  round(shapiro.test(banco[,251])$p.value, 4),
  round(shapiro.test(banco[,252])$p.value, 4),
  round(shapiro.test(banco[,253])$p.value, 4),
  round(shapiro.test(banco[,254])$p.value, 4),
  round(shapiro.test(banco[,255])$p.value, 4),
  round(shapiro.test(banco[,256])$p.value, 4),
  round(shapiro.test(banco[,257])$p.value, 4),
  round(shapiro.test(banco[,258])$p.value, 4),
  round(shapiro.test(banco[,259])$p.value, 4),
  round(shapiro.test(banco[,1705])$p.value, 4),
  round(shapiro.test(banco[,1706])$p.value, 4),
  round(shapiro.test(banco[,1707])$p.value, 4),
  round(shapiro.test(banco[,1708])$p.value, 4),
  round(shapiro.test(banco[,1709])$p.value, 4),
  round(shapiro.test(banco[,1710])$p.value, 4),
  
  round(lillie.test(banco[,583])$p.value, 4),
  round(lillie.test(banco[,584])$p.value, 4),
  round(lillie.test(banco[,585])$p.value, 4),
  round(lillie.test(banco[,586])$p.value, 4),
  round(lillie.test(banco[,587])$p.value, 4),
  round(lillie.test(banco[,588])$p.value, 4),
  round(lillie.test(banco[,589])$p.value, 4),
  round(lillie.test(banco[,590])$p.value, 4),
  round(lillie.test(banco[,591])$p.value, 4),
  round(lillie.test(banco[,592])$p.value, 4),
  round(lillie.test(banco[,593])$p.value, 4),
  round(lillie.test(banco[,594])$p.value, 4),
  round(lillie.test(banco[,595])$p.value, 4),
  round(lillie.test(banco[,596])$p.value, 4),
  round(lillie.test(banco[,597])$p.value, 4),
  round(lillie.test(banco[,598])$p.value, 4),
  round(lillie.test(banco[,599])$p.value, 4),
  round(lillie.test(banco[,600])$p.value, 4),
  round(lillie.test(banco[,601])$p.value, 4),
  round(lillie.test(banco[,602])$p.value, 4),
  round(lillie.test(banco[,603])$p.value, 4),
  round(lillie.test(banco[,604])$p.value, 4),
  round(lillie.test(banco[,1711])$p.value, 4),
  round(lillie.test(banco[,1712])$p.value, 4),
  round(lillie.test(banco[,1713])$p.value, 4),
  round(lillie.test(banco[,1714])$p.value, 4),
  round(lillie.test(banco[,1715])$p.value, 4),
  round(lillie.test(banco[,1716])$p.value, 4),
  
  round(shapiro.test(banco[,583])$p.value, 4),
  round(shapiro.test(banco[,584])$p.value, 4),
  round(shapiro.test(banco[,585])$p.value, 4),
  round(shapiro.test(banco[,586])$p.value, 4),
  round(shapiro.test(banco[,587])$p.value, 4),
  round(shapiro.test(banco[,588])$p.value, 4),
  round(shapiro.test(banco[,589])$p.value, 4),
  round(shapiro.test(banco[,590])$p.value, 4),
  round(shapiro.test(banco[,591])$p.value, 4),
  round(shapiro.test(banco[,592])$p.value, 4),
  round(shapiro.test(banco[,593])$p.value, 4),
  round(shapiro.test(banco[,594])$p.value, 4),
  round(shapiro.test(banco[,595])$p.value, 4),
  round(shapiro.test(banco[,596])$p.value, 4),
  round(shapiro.test(banco[,597])$p.value, 4),
  round(shapiro.test(banco[,598])$p.value, 4),
  round(shapiro.test(banco[,599])$p.value, 4),
  round(shapiro.test(banco[,600])$p.value, 4),
  round(shapiro.test(banco[,601])$p.value, 4),
  round(shapiro.test(banco[,602])$p.value, 4),
  round(shapiro.test(banco[,603])$p.value, 4),
  round(shapiro.test(banco[,604])$p.value, 4), 
  round(shapiro.test(banco[,1711])$p.value, 4),
  round(shapiro.test(banco[,1712])$p.value, 4),
  round(shapiro.test(banco[,1713])$p.value, 4),
  round(shapiro.test(banco[,1714])$p.value, 4),
  round(shapiro.test(banco[,1715])$p.value, 4),
  round(shapiro.test(banco[,1716])$p.value, 4),
  
  round(lillie.test(banco[,928])$p.value, 4),
  round(lillie.test(banco[,929])$p.value, 4),
  round(lillie.test(banco[,930])$p.value, 4),
  round(lillie.test(banco[,931])$p.value, 4),
  round(lillie.test(banco[,932])$p.value, 4),
  round(lillie.test(banco[,933])$p.value, 4),
  round(lillie.test(banco[,934])$p.value, 4),
  round(lillie.test(banco[,935])$p.value, 4),
  round(lillie.test(banco[,936])$p.value, 4),
  round(lillie.test(banco[,937])$p.value, 4),
  round(lillie.test(banco[,938])$p.value, 4),
  round(lillie.test(banco[,939])$p.value, 4),
  round(lillie.test(banco[,940])$p.value, 4),
  round(lillie.test(banco[,941])$p.value, 4),
  round(lillie.test(banco[,942])$p.value, 4),
  round(lillie.test(banco[,943])$p.value, 4),
  round(lillie.test(banco[,944])$p.value, 4),
  round(lillie.test(banco[,945])$p.value, 4),
  round(lillie.test(banco[,946])$p.value, 4),
  round(lillie.test(banco[,947])$p.value, 4),
  round(lillie.test(banco[,948])$p.value, 4),
  round(lillie.test(banco[,949])$p.value, 4),
  round(lillie.test(banco[,1717])$p.value, 4),
  round(lillie.test(banco[,1718])$p.value, 4),
  round(lillie.test(banco[,1719])$p.value, 4),
  round(lillie.test(banco[,1720])$p.value, 4),
  round(lillie.test(banco[,1721])$p.value, 4),
  round(lillie.test(banco[,1722])$p.value, 4),
  
  round(shapiro.test(banco[,928])$p.value, 4),
  round(shapiro.test(banco[,929])$p.value, 4),
  round(shapiro.test(banco[,930])$p.value, 4),
  round(shapiro.test(banco[,931])$p.value, 4),
  round(shapiro.test(banco[,932])$p.value, 4),
  round(shapiro.test(banco[,933])$p.value, 4),
  round(shapiro.test(banco[,934])$p.value, 4),
  round(shapiro.test(banco[,935])$p.value, 4),
  round(shapiro.test(banco[,936])$p.value, 4),
  round(shapiro.test(banco[,937])$p.value, 4),
  round(shapiro.test(banco[,938])$p.value, 4),
  round(shapiro.test(banco[,939])$p.value, 4),
  round(shapiro.test(banco[,940])$p.value, 4),
  round(shapiro.test(banco[,941])$p.value, 4),
  round(shapiro.test(banco[,942])$p.value, 4),
  round(shapiro.test(banco[,943])$p.value, 4),
  round(shapiro.test(banco[,944])$p.value, 4),
  round(shapiro.test(banco[,945])$p.value, 4),
  round(shapiro.test(banco[,946])$p.value, 4),
  round(shapiro.test(banco[,947])$p.value, 4),
  round(shapiro.test(banco[,948])$p.value, 4),
  round(shapiro.test(banco[,949])$p.value, 4),
  round(shapiro.test(banco[,1717])$p.value, 4),
  round(shapiro.test(banco[,1718])$p.value, 4),
  round(shapiro.test(banco[,1719])$p.value, 4),
  round(shapiro.test(banco[,1720])$p.value, 4),
  round(shapiro.test(banco[,1721])$p.value, 4),
  round(shapiro.test(banco[,1722])$p.value, 4)),
  nrow=28, ncol=6, byrow=F)

dimnames(D) = list(
  c("2'FL, nmol/mL", "3FL, nmol/mL", "LNnT, nmol/mL", "3'SL, nmol/mL", "DFLac, nmol/mL", 
    "6'SL, nmol/mL", "LNT, nmol/mL", "LNFP I, nmol/mL", "LNFP II, nmol/mL", "LNFP III, nmol/mL", 
    "LSTb, nmol/mL", "LSTc, nmol/mL", "DFLNT, nmol/mL", "LNH, nmol/mL", "DSLNT, nmol/mL", 
    "FLNH, nmol/mL", "DFLNH, nmol/mL", "FDSLNH, nmol/mL", "DSLNH, nmol/mL", "Total, nmol/mL", 
    "HMO-bound sialic acid, nmol/mL","HMO-bound fucose, nmol/mL", "Small HMOs, nmol/mL", 
    "Type 1, nmol/mL", "Type 2, nmol/mL", "alpha 1,2, nmol/mL", "alpha 1,3, nmol/mL",
    "alpha 2,6, nmol/mL"),
  c("Lilliefors (K-S) test", "S-W test", "Lilliefors (K-S) test", "S-W test", 
    "Lilliefors (K-S) test", "S-W test")) 

knitr::kable(D, format="html", 
             caption="Table 0. Kolmogorov-Smirnov test with Lilliefors correction and Shapiro-Wilk normality test for outcomes.") %>% 
  kable_styling("striped",full_width = T) %>%
  add_header_above(c("HMO" = 1, "1-7 days postpartum" = 2, "30-45 day postpartum" = 2, 
                     "3 months postpartum" = 2)) %>% 
  footnote(general="K-S: Kolmogorov-Smirnov normality test. S-W: Shapiro-Wilk normality test. HMO: human milk oligosaccharide. 2'FL: 2'-fucosyllactose. 3FL: 3-fucosyllactose. LNnT: lacto-N-neotetraose. 3'SL: 3'-sialyllactose. DFLac: difucosyllactose. 6'SL: 6'-sialyllactose. LNT: lacto-N-tetrose. LNFP: lacto-N-fucopentaose. LSTb: sialyl-lacto-N-tetraose b. LSTc: sialyl-lacto-N-tetraose c. DFLNT: difucosyllacto-N-tetrose. LNH: lacto-N-hexaose. DSLNT: disialyllacto-Ntetraose. FLNH: fucosyllacto-N-hexaose. DFLNH: difucosyllacto-N-hexaose. FDSLNH: fucodisialyllacto-N-hexaose. DSLNH: disialyllacto-N-hexaose.")  
Table 0. Kolmogorov-Smirnov test with Lilliefors correction and Shapiro-Wilk normality test for outcomes.
HMO
1-7 days postpartum
30-45 day postpartum
3 months postpartum
Lilliefors (K-S) test S-W test Lilliefors (K-S) test S-W test Lilliefors (K-S) test S-W test
2’FL, nmol/mL 0.0744 0.0140 0.0142 0.0114 0.3655 0.6087
3FL, nmol/mL 0.5067 0.2827 0.0050 0.0000 0.4255 0.2609
LNnT, nmol/mL 0.2762 0.0178 0.1155 0.0003 0.5035 0.0580
3’SL, nmol/mL 0.0010 0.0064 0.0480 0.0117 0.0200 0.0036
DFLac, nmol/mL 0.3223 0.1714 0.3452 0.1888 0.1480 0.4020
6’SL, nmol/mL 0.0441 0.0000 0.0866 0.0282 0.2294 0.1890
LNT, nmol/mL 0.0809 0.0002 0.0232 0.0086 0.1284 0.0687
LNFP I, nmol/mL 0.1464 0.0266 0.0694 0.0029 0.0364 0.0405
LNFP II, nmol/mL 0.0000 0.0000 0.0000 0.0000 0.0532 0.0694
LNFP III, nmol/mL 0.0022 0.0000 0.0312 0.0000 0.3343 0.0799
LSTb, nmol/mL 0.0000 0.0000 0.1220 0.0038 0.0967 0.4146
LSTc, nmol/mL 0.4276 0.3513 0.4395 0.1599 0.4427 0.0091
DFLNT, nmol/mL 0.0258 0.0261 0.0807 0.0207 0.1862 0.0174
LNH, nmol/mL 0.0002 0.0000 0.0009 0.0000 0.0467 0.0227
DSLNT, nmol/mL 0.9204 0.9180 0.0048 0.0001 0.0000 0.0000
FLNH, nmol/mL 0.1870 0.0172 0.1957 0.0192 0.1034 0.0751
DFLNH, nmol/mL 0.0176 0.0000 0.2806 0.0037 0.0018 0.0011
FDSLNH, nmol/mL 0.0005 0.0000 0.0004 0.0000 0.0177 0.0052
DSLNH, nmol/mL 0.9490 0.6095 0.2371 0.1383 0.5065 0.8150
Total, nmol/mL 0.0000 0.0000 0.0000 0.0000 0.0203 0.0067
HMO-bound sialic acid, nmol/mL 0.9025 0.7689 0.7179 0.8401 0.2171 0.5690
HMO-bound fucose, nmol/mL 0.0000 0.0000 0.0000 0.0000 0.3444 0.1627
Small HMOs, nmol/mL 0.0997 0.0236 0.0154 0.0216 0.2340 0.5046
Type 1, nmol/mL 0.3546 0.1389 0.6105 0.4314 0.1266 0.6721
Type 2, nmol/mL 0.2554 0.0174 0.2819 0.1428 0.1872 0.0642
alpha 1,2, nmol/mL 0.0024 0.0010 0.1530 0.0175 0.4714 0.6801
alpha 1,3, nmol/mL 0.2153 0.3505 0.0105 0.0000 0.1238 0.2002
alpha 2,6, nmol/mL 0.4102 0.6461 0.0206 0.1427 0.1203 0.5162
Note:
K-S: Kolmogorov-Smirnov normality test. S-W: Shapiro-Wilk normality test. HMO: human milk oligosaccharide. 2’FL: 2’-fucosyllactose. 3FL: 3-fucosyllactose. LNnT: lacto-N-neotetraose. 3’SL: 3’-sialyllactose. DFLac: difucosyllactose. 6’SL: 6’-sialyllactose. LNT: lacto-N-tetrose. LNFP: lacto-N-fucopentaose. LSTb: sialyl-lacto-N-tetraose b. LSTc: sialyl-lacto-N-tetraose c. DFLNT: difucosyllacto-N-tetrose. LNH: lacto-N-hexaose. DSLNT: disialyllacto-Ntetraose. FLNH: fucosyllacto-N-hexaose. DFLNH: difucosyllacto-N-hexaose. FDSLNH: fucodisialyllacto-N-hexaose. DSLNH: disialyllacto-N-hexaose.
##############################################
########## ANALISES DESCRITIVAS ##############
##############################################

A = matrix(c(
  mean_sd(banco$mother_age[!is.na(banco$HMOSecretor)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$schooling[!is.na(banco$HMOSecretor)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$parity[!is.na(banco$HMOSecretor)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$peso_pg1[!is.na(banco$HMOSecretor)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$estatura_referi1[!is.na(banco$HMOSecretor)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$bmi_pg[!is.na(banco$HMOSecretor)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$sg_parto[!is.na(banco$HMOSecretor)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$gwg_3t[!is.na(banco$HMOSecretor)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$mother_age[!is.na(banco$HMOSecretor_1m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$schooling[!is.na(banco$HMOSecretor_1m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$parity[!is.na(banco$HMOSecretor_1m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$peso_pg1[!is.na(banco$HMOSecretor_1m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$estatura_referi1[!is.na(banco$HMOSecretor_1m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$bmi_pg[!is.na(banco$HMOSecretor_1m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$sg_parto[!is.na(banco$HMOSecretor_1m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$gwg_3t[!is.na(banco$HMOSecretor_1m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$mother_age[!is.na(banco$HMOSecretor_3m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$schooling[!is.na(banco$HMOSecretor_3m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$parity[!is.na(banco$HMOSecretor_3m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$peso_pg1[!is.na(banco$HMOSecretor_3m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$estatura_referi1[!is.na(banco$HMOSecretor_3m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$bmi_pg[!is.na(banco$HMOSecretor_3m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$sg_parto[!is.na(banco$HMOSecretor_3m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$gwg_3t[!is.na(banco$HMOSecretor_3m)], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$mother_age, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$schooling, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$parity, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$peso_pg1, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$estatura_referi1, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$bmi_pg, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$sg_parto, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$gwg_3t, na_rm=T, show_n="never", denote_sd = "paren", digits = 1)),
  nrow=8, ncol=4, byrow=F)

dimnames(A) = list(
  c("Age, y", "Education, y", "Parity, n", "Pre-gestational weight, Kg", "Height, cm", 
    "Pre-gestational BMI, Kg/m²", "Gestational age at delivery, w", "GWG at third-trimester, Kg"),
  c("1-7 day postpartum (n=43)", "30-45 day postpartum (n=55)", "3 months postpartum (n=21)", "All women (N=148)"))

knitr::kable(A, format="html", 
             caption="Table 1. Characteristics of women participating in the study.") %>% 
  kable_styling(full_width = T) %>% 
  footnote(general="All values are means (±SD). BMI: body mass index. GWG: gestational weight gain")
Table 1. Characteristics of women participating in the study.
1-7 day postpartum (n=43) 30-45 day postpartum (n=55) 3 months postpartum (n=21) All women (N=148)
Age, y 27.1 (5.1) 26.7 (5.5) 27.7 (5.6) 27.2 (5.5)
Education, y 10.9 (2.4) 10.9 (2.5) 10.8 (2.3) 10.8 (2.7)
Parity, n 1.5 (0.6) 1.4 (0.6) 1.4 (0.7) 1.5 (0.7)
Pre-gestational weight, Kg 65.6 (14.7) 65.6 (14.8) 70.3 (17.6) 65.0 (14.7)
Height, cm 160.3 (5.6) 160.0 (6.0) 160.3 (6.1) 160.3 (5.7)
Pre-gestational BMI, Kg/m² 26.3 (6.5) 26.0 (6.1) 27.2 (5.5) 25.8 (5.7)
Gestational age at delivery, w 41.1 (7.9) 41.9 (9.4) 39.8 (1.1) 41.0 (6.9)
GWG at third-trimester, Kg 9.1 (4.0) 9.3 (4.1) 9.7 (4.4) 9.4 (5.3)
Note:
All values are means (±SD). BMI: body mass index. GWG: gestational weight gain
#A2 = matrix(c(
#  n_perc0(banco$uso_antibiotico_mae1 %in% "Sim", na_rm=T),
#  n_perc0(banco$vitaminas_suple1 %in% "Sim", na_rm=T), # epiDisplay::tab1(banco$vitaminas_suple1[!is.na(banco$HMOSecretor)], graph=F)
#  n_perc0(banco$ferro1 %in% "Está tomando", na_rm=T), 
#  n_perc0(banco$acidofolico1 %in% "Está tomando", na_rm=T), 
#  n_perc0(banco$tipo_aleitamentoo4o53 %in% "Está tomando", na_rm=T), # epiDisplay::tab1(banco$tipo_aleitamentoo4o53)
#  n_perc0(banco$tipo_aleitamentoo4o54 %in% "Está tomando", na_rm=T),
#  n_perc0(banco$tipo_aleitamentoo4o55 %in% "Está tomando", na_rm=T)))


B = matrix(c(
  mean_sd(banco$`2'FL_7d`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1), # names(banco[238:259])
  mean_sd(banco$`3FL_7d`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNnT_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`3'SL_7d`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLac_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`6'SL_7d`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNT_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPI_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPII_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPIII_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTb_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTc_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNT_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNH_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNT_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FLNH_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNH_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FDSLNH_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNH_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$SUM_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$`2'FL_7d`[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1), # names(banco[238:259])
  mean_sd(banco$`3FL_7d`[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNnT_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`3'SL_7d`[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLac_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`6'SL_7d`[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNT_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPI_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPII_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPIII_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTb_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTc_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNT_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNH_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNT_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FLNH_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNH_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FDSLNH_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNH_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$SUM_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$`2'FL_7d`[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1), # names(banco[238:259])
  mean_sd(banco$`3FL_7d`[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNnT_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`3'SL_7d`[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLac_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`6'SL_7d`[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNT_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPI_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPII_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPIII_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTb_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTc_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNT_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNH_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNT_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FLNH_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNH_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FDSLNH_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNH_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$SUM_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$`2'FL_1m`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1), # names(banco[583:604])
  mean_sd(banco$`3FL_1m`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNnT_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`3'SL_1m`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLac_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`6'SL_1m`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNT_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPI_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPII_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPIII_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTb_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTc_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNT_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNH_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNT_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FLNH_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNH_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FDSLNH_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNH_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$SUM_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$`2'FL_1m`[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1), # names(banco[580:604])
  mean_sd(banco$`3FL_1m`[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNnT_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`3'SL_1m`[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLac_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`6'SL_1m`[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNT_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPI_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPII_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPIII_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTb_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTc_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNT_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNH_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNT_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FLNH_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNH_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FDSLNH_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNH_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$SUM_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$`2'FL_1m`[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1), # names(banco[580:604])
  mean_sd(banco$`3FL_1m`[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNnT_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`3'SL_1m`[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLac_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`6'SL_1m`[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNT_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPI_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPII_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPIII_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTb_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTc_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNT_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNH_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNT_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FLNH_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNH_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FDSLNH_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNH_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$SUM_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$`2'FL_3m`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1), # names(banco[928:949])
  mean_sd(banco$`3FL_3m`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNnT_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`3'SL_3m`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLac_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`6'SL_3m`, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNT_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPI_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPII_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPIII_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTb_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTc_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNT_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNH_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNT_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FLNH_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNH_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FDSLNH_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNH_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$SUM_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$`2'FL_3m`[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1), # names(banco[925:949])
  mean_sd(banco$`3FL_3m`[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNnT_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`3'SL_3m`[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLac_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`6'SL_3m`[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNT_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPI_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPII_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPIII_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTb_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTc_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNT_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNH_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNT_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FLNH_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNH_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FDSLNH_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNH_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$SUM_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$`2'FL_3m`[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1), # names(banco[925:949])
  mean_sd(banco$`3FL_3m`[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNnT_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`3'SL_3m`[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLac_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$`6'SL_3m`[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNT_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPI_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPII_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNFPIII_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTb_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LSTc_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNT_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$LNH_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNT_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FLNH_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DFLNH_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$FDSLNH_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$DSLNH_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$SUM_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1)),
  nrow=20, ncol=9, byrow=F)

dimnames(B) = list(
  c("2'FL, nmol/mL","3FL, nmol/mL","LNnT, nmol/mL","3'SL, nmol/mL","DFLac, nmol/mL","6'SL, nmol/mL",
    "LNT, nmol/mL","LNFP I, nmol/mL","LNFP II, nmol/mL","LNFP III, nmol/mL","LSTb, nmol/mL",
    "LSTc, nmol/mL","DFLNT, nmol/mL","LNH, nmol/mL","DSLNT, nmol/mL","FLNH, nmol/mL",
    "DFLNH, nmol/mL","FDSLNH, nmol/mL","DSLNH, nmol/mL","Total, nmol/mL"),
  c("All women (n=43)", "Secretors (n=37)", "Nonsecretors (n=6)",
    "All women (n=55)", "Secretors (n=49)", "Nonsecretors (n=6)",
    "All women (n=21)", "Secretors (n=19)", "Nonsecretors (n=2)"))

knitr::kable(B, format="html", 
      caption="Table 2. Variation in total and individual HMOs among women 
      participating in the study.") %>% 
  kable_styling("striped", full_width = T) %>%
  add_header_above(c("HMOs" = 1, "1-7 days postpartum" = 3, "30-45 day postpartum" = 3, 
                     "3 months postpartum" = 3)) %>% 
  footnote(general="HMO: human milk oligosaccharide. 2'FL: 2'-fucosyllactose. 3FL: 3-fucosyllactose. LNnT: lacto-N-neotetraose. 3'SL: 3'-sialyllactose. DFLac: difucosyllactose. 6'SL: 6'-sialyllactose. LNT: lacto-N-tetrose. LNFP: lacto-N-fucopentaose. LSTb: sialyl-lacto-N-tetraose b. LSTc: sialyl-lacto-N-tetraose c. DFLNT: difucosyllacto-N-tetrose. LNH: lacto-N-hexaose. DSLNT: disialyllacto-Ntetraose. FLNH: fucosyllacto-N-hexaose. DFLNH: difucosyllacto-N-hexaose. FDSLNH: fucodisialyllacto-N-hexaose. DSLNH: disialyllacto-N-hexaose.")
Table 2. Variation in total and individual HMOs among women participating in the study.
HMOs
1-7 days postpartum
30-45 day postpartum
3 months postpartum
All women (n=43) Secretors (n=37) Nonsecretors (n=6) All women (n=55) Secretors (n=49) Nonsecretors (n=6) All women (n=21) Secretors (n=19) Nonsecretors (n=2)
2’FL, nmol/mL 4,575.3 (2,394.3) 5,314.7 (1,631.4) 15.9 (12.9) 5,001.3 (2,487.4) 5,607.8 (1,875.8) 48.5 (54.9) 5,937.3 (3,257.1) 6,555.2 (2,748.8) 67.3 (28.4)
3FL, nmol/mL 235.1 (116.8) 259.5 (105.3) 85.2 (57.6) 335.9 (174.3) 355.4 (172.3) 177.2 (96.5) 373.6 (155.3) 350.8 (141.0) 590.1 (144.5)
LNnT, nmol/mL 814.5 (486.7) 787.3 (470.6) 982.2 (596.4) 352.3 (224.3) 343.7 (215.8) 423.1 (299.0) 672.6 (287.3) 706.6 (280.8) 349.3 (35.0)
3’SL, nmol/mL 342.5 (187.2) 365.5 (187.4) 200.2 (115.7) 440.5 (219.6) 452.9 (224.0) 339.2 (159.0) 672.9 (434.0) 707.4 (439.9) 345.3 (216.7)
DFLac, nmol/mL 253.3 (134.8) 281.5 (120.8) 79.2 (73.1) 385.9 (186.4) 426.1 (154.3) 57.4 (32.6) 425.3 (177.8) 463.5 (136.5) 61.8 (72.2)
6’SL, nmol/mL 350.2 (224.2) 330.7 (177.7) 470.8 (417.9) 578.3 (227.1) 571.0 (205.1) 638.1 (385.0) 344.5 (131.9) 342.7 (132.7) 361.4 (174.3)
LNT, nmol/mL 1,617.8 (892.8) 1,378.8 (558.8) 3,091.3 (1,191.5) 1,496.8 (650.2) 1,401.3 (564.1) 2,276.8 (831.3) 1,413.0 (675.0) 1,444.1 (703.2) 1,117.5 (137.1)
LNFP I, nmol/mL 2,639.0 (1,377.3) 3,052.6 (976.1) 88.2 (26.3) 1,721.1 (1,233.4) 1,917.6 (1,161.9) 116.2 (18.2) 1,164.3 (838.9) 1,273.2 (806.5) 129.8 (6.7)
LNFP II, nmol/mL 1,047.3 (653.1) 892.6 (487.4) 2,001.6 (776.1) 1,308.2 (721.9) 1,167.3 (575.6) 2,458.6 (815.5) 1,745.2 (808.2) 1,574.3 (628.2) 3,368.8 (366.0)
LNFP III, nmol/mL 99.2 (50.3) 100.7 (53.0) 89.7 (30.9) 77.1 (39.1) 76.8 (40.8) 79.8 (22.3) 52.0 (24.7) 49.0 (23.8) 80.6 (12.5)
LSTb, nmol/mL 120.8 (108.5) 99.3 (39.3) 253.3 (251.6) 123.1 (49.7) 117.0 (41.6) 172.6 (82.0) 95.0 (38.7) 94.1 (38.4) 103.7 (57.0)
LSTc, nmol/mL 825.3 (321.2) 867.7 (307.5) 563.5 (300.5) 295.5 (128.7) 301.4 (123.3) 248.1 (172.4) 131.6 (78.5) 140.5 (76.8) 46.7 (32.7)
DFLNT, nmol/mL 1,451.2 (791.0) 1,640.5 (680.9) 284.1 (131.3) 1,434.7 (836.7) 1,567.0 (783.4) 354.6 (312.3) 1,327.0 (718.0) 1,370.4 (740.8) 915.0 (240.1)
LNH, nmol/mL 88.9 (93.2) 75.7 (65.4) 170.1 (181.4) 108.4 (78.9) 107.4 (78.0) 116.6 (93.4) 70.6 (40.9) 69.2 (41.3) 83.5 (49.9)
DSLNT, nmol/mL 635.7 (218.9) 620.4 (209.8) 730.2 (270.2) 264.6 (221.5) 268.0 (216.7) 237.3 (279.8) 57.8 (74.3) 62.5 (76.7) 13.2 (7.7)
FLNH, nmol/mL 119.3 (82.0) 122.8 (76.0) 98.3 (119.5) 135.7 (86.4) 141.6 (86.6) 87.2 (74.2) 88.6 (52.3) 89.8 (54.6) 77.3 (27.8)
DFLNH, nmol/mL 160.8 (147.0) 183.4 (146.3) 21.1 (16.8) 172.8 (125.0) 191.7 (119.2) 18.2 (9.2) 65.2 (55.6) 69.9 (56.4) 19.9 (1.7)
FDSLNH, nmol/mL 110.3 (102.0) 94.7 (84.9) 206.8 (150.3) 283.9 (220.8) 246.6 (191.1) 589.2 (224.4) 355.1 (259.8) 300.0 (190.4) 878.3 (303.1)
DSLNH, nmol/mL 237.3 (104.7) 240.1 (105.6) 220.3 (106.4) 287.1 (123.2) 279.3 (115.4) 351.0 (174.7) 128.3 (54.5) 130.5 (55.9) 107.2 (46.5)
Total, nmol/mL 15,723.8 (2,636.8) 16,708.4 (959.8) 9,651.8 (595.0) 14,803.4 (2,402.6) 15,539.8 (1,183.3) 8,789.5 (429.7) 15,119.7 (2,555.0) 15,793.8 (1,488.7) 8,716.6 (187.7)
Note:
HMO: human milk oligosaccharide. 2’FL: 2’-fucosyllactose. 3FL: 3-fucosyllactose. LNnT: lacto-N-neotetraose. 3’SL: 3’-sialyllactose. DFLac: difucosyllactose. 6’SL: 6’-sialyllactose. LNT: lacto-N-tetrose. LNFP: lacto-N-fucopentaose. LSTb: sialyl-lacto-N-tetraose b. LSTc: sialyl-lacto-N-tetraose c. DFLNT: difucosyllacto-N-tetrose. LNH: lacto-N-hexaose. DSLNT: disialyllacto-Ntetraose. FLNH: fucosyllacto-N-hexaose. DFLNH: difucosyllacto-N-hexaose. FDSLNH: fucodisialyllacto-N-hexaose. DSLNH: disialyllacto-N-hexaose.
C = matrix(c(
  mean_sd(banco$Sia_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Fuc_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$small_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_1_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_2_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_12_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_13_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_26_7d, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Sia_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Fuc_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$small_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_1_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_2_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_12_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_13_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_26_7d[banco$HMOSecretor==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Sia_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Fuc_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$small_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_1_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_2_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_12_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_13_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_26_7d[banco$HMOSecretor==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$Sia_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Fuc_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$small_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_1_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_2_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_12_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_13_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_26_1m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Sia_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Fuc_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$small_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_1_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_2_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_12_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_13_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_26_1m[banco$HMOSecretor_1m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Sia_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Fuc_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$small_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_1_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_2_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_12_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_13_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_26_1m[banco$HMOSecretor_1m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  
  mean_sd(banco$Sia_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Fuc_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$small_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_1_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_2_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_12_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_13_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_26_3m, na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Sia_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Fuc_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$small_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_1_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_2_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_12_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_13_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_26_3m[banco$HMOSecretor_3m==1], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Sia_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$Fuc_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$small_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_1_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$type_2_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_12_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_13_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1),
  mean_sd(banco$alfa_26_3m[banco$HMOSecretor_3m==0], na_rm=T, show_n="never", denote_sd = "paren", digits = 1)),
           nrow=8, ncol=9, byrow=F)

dimnames(C) = list(
  c("HMO-bound sialic acid¹, nmol/mL","HMO-bound fucose², nmol/mL", "Small HMOs³, nmol/mL", 
    "Type 1, nmol/mL", "Type 2, nmol/mL", "alpha 1,2, nmol/mL", "alpha 1,3, nmol/mL",
    "alpha 2,6, nmol/mL"),
  c("All women (n=43)","Secretors (n=37)","Nonsecretors (n=6)",
    "All women (n=55)","Secretors (n=49)","Nonsecretors (n=6)",
    "All women (n=21)","Secretors (n=19)","Nonsecretors (n=2)")) 

knitr::kable(C, format="html", 
             caption="Table 3. Variation in HMO groupings among women 
             participating in the study.") %>% 
  kable_styling("striped",full_width = T) %>%
  add_header_above(c("Variable" = 1, "1-7 days postpartum" = 3, "30-45 day postpartum" = 3, 
                     "3 months postpartum" = 3)) %>% 
  footnote(general="All values are means (SD). HMO: human milk oligosaccharide.",
           number = c("Calculated as the sum of all sialic acid moieties bound to each HMO.", 
                      "Calculated as the sum of all fucose moieties bound to each HMO.",
                      "Calculated as 2'FL + 3FL + 3'SL + 6'SL.",
                      "Calculated as LNT + LNFP I + LNFP II + LSTb + DSLNT.",
                      "Calculated as LNnT + LNFP III + LSTc.",
                      "Calculated as LNFP I + 2'FL.",
                      "Calculated as LNFP III + 3FL.",
                      "Calculated as LSTb + LSTc + 6'SL."))
Table 3. Variation in HMO groupings among women participating in the study.
Variable
1-7 days postpartum
30-45 day postpartum
3 months postpartum
All women (n=43) Secretors (n=37) Nonsecretors (n=6) All women (n=55) Secretors (n=49) Nonsecretors (n=6) All women (n=21) Secretors (n=19) Nonsecretors (n=2)
HMO-bound sialic acid¹, nmol/mL 3,605.4 (712.6) 3,573.5 (650.8) 3,802.1 (1,078.1) 3,108.8 (861.9) 3,029.9 (845.5) 3,753.1 (775.8) 2,326.2 (750.6) 2,270.6 (757.7) 2,854.6 (564.4)
HMO-bound fucose², nmol/mL 12,556.1 (3,987.8) 14,048.3 (1,433.0) 3,354.4 (843.6) 12,850.1 (3,435.8) 13,882.8 (1,768.3) 4,416.9 (1,296.5) 13,351.0 (2,776.4) 14,000.0 (1,969.5) 7,185.5 (566.3)
Small HMOs³, nmol/mL 5,503.1 (2,467.9) 6,270.3 (1,653.8) 772.1 (503.5) 6,356.1 (2,581.1) 6,987.1 (1,933.8) 1,202.9 (531.3) 7,328.3 (3,292.8) 7,956.1 (2,770.9) 1,364.1 (158.4)
Type 1, nmol/mL 6,060.5 (1,050.7) 6,043.7 (1,064.9) 6,164.6 (1,045.8) 4,913.8 (1,195.5) 4,871.3 (1,236.8) 5,261.6 (766.4) 4,475.3 (1,116.6) 4,448.2 (1,172.7) 4,733.0 (186.4)
Type 2, nmol/mL 1,739.0 (546.3) 1,755.8 (540.6) 1,635.4 (622.8) 725.0 (260.1) 721.8 (258.7) 750.9 (295.2) 856.1 (329.1) 896.1 (319.8) 476.6 (80.2)
alpha 1,2, nmol/mL 7,214.3 (3,579.7) 8,367.3 (2,271.1) 104.1 (29.7) 6,722.4 (3,286.7) 7,525.4 (2,473.6) 164.7 (47.4) 7,101.6 (3,747.7) 7,828.4 (3,122.6) 197.1 (35.1)
alpha 1,3, nmol/mL 334.3 (127.5) 360.2 (115.3) 174.9 (73.5) 413.0 (175.0) 432.1 (172.5) 256.9 (110.7) 425.6 (156.1) 399.8 (136.8) 670.7 (131.9)
alpha 2,6, nmol/mL 1,296.3 (346.9) 1,297.7 (337.3) 1,287.5 (437.8) 997.0 (304.6) 989.4 (259.0) 1,058.8 (594.1) 571.1 (197.5) 577.3 (204.1) 511.8 (150.0)
Note:
All values are means (SD). HMO: human milk oligosaccharide.
1 Calculated as the sum of all sialic acid moieties bound to each HMO.
2 Calculated as the sum of all fucose moieties bound to each HMO.
3 Calculated as 2’FL + 3FL + 3’SL + 6’SL.
4 Calculated as LNT + LNFP I + LNFP II + LSTb + DSLNT.
5 Calculated as LNnT + LNFP III + LSTc.
6 Calculated as LNFP I + 2’FL.
7 Calculated as LNFP III + 3FL.
8 Calculated as LSTb + LSTc + 6’SL.
##############################################
############ ANALISES GRAFICAS ###############
##############################################

############ Correlogram with the significance test ############

bd_w1 = banco[,c(8,29,104,164:173,235:259)]
res1 = cor.mtest(bd_w1, conf.level = .99, method="spearman",  exact=F, use = "pairwise.complete.obs")

corrplot(cor(bd_w1, 
             method = "spearman", use = "pairwise.complete.obs"), 
         method = "circle", type = "upper", diag = F, tl.col = "black", number.cex = .3,
         p.mat = res1$p, sig.level = 0.01, tl.srt = 55,
         insig = "blank", # leave blank on no significant coefficient
         # title = "Figure. Spearman rank correlations \n between selected maternal anthropometric, demographic, and reproductive variables and HMO types and groupings \n at 3-7 days postpartum.",
         mar=c(0,0,0,0))

bd_w2 = banco[,c(8,29,104,164:173,580:604)]
res2 = cor.mtest(bd_w2, conf.level = .99, method="spearman",  exact=F, use = "pairwise.complete.obs")

corrplot(cor(bd_w2, 
             method = "spearman", use = "pairwise.complete.obs"), 
         method = "circle", type = "upper", diag = F, tl.col = "black", number.cex = .3,
         p.mat = res1$p, sig.level = 0.01, tl.srt = 55,
         insig = "blank") # leave blank on no significant coefficient

bd_w3 = banco[,c(8,29,104,164:173,925:949)]
res3 = cor.mtest(bd_w3, conf.level = .99, method="spearman",  exact=F, use = "pairwise.complete.obs")

corrplot(cor(bd_w3, 
             method = "spearman", use = "pairwise.complete.obs"), 
         method = "circle", type = "upper", diag = F, tl.col = "black", number.cex = .3,
         p.mat = res1$p, sig.level = 0.01, tl.srt = 55,
         insig = "blank") # leave blank on no significant coefficient

############## GGPLOTS #################

tb3 = banco %>% dplyr::select("record_id", "hmo_status", 238:256, 583:601, 928:946) # dim = 148 x 58 (=19 x 3)
tb3 = melt(tb3, id=c("record_id","hmo_status"))
headtail(tb3)
##      record_id hmo_status variable value
## 1            1         NA  2'FL_7d    NA
## 2            2          1  2'FL_7d    NA
## 3            3         NA  2'FL_7d    NA
## 8434       146         NA DSLNH_3m    NA
## 8435       147         NA DSLNH_3m    NA
## 8436       148         NA DSLNH_3m    NA
tb3$onda=rep(c("w1","w2","w3"), each=2812) # 19 vars x 148 ind
tb3$onda=as.factor(tb3$onda)
headtail(tb3)
##      record_id hmo_status variable value onda
## 1            1         NA  2'FL_7d    NA   w1
## 2            2          1  2'FL_7d    NA   w1
## 3            3         NA  2'FL_7d    NA   w1
## 8434       146         NA DSLNH_3m    NA   w3
## 8435       147         NA DSLNH_3m    NA   w3
## 8436       148         NA DSLNH_3m    NA   w3
tb3$variable = as.factor(sub("[_].*", "", tb3$variable)) # levels(tb3$variable)
headtail(tb3)
##      record_id hmo_status variable value onda
## 1            1         NA     2'FL    NA   w1
## 2            2          1     2'FL    NA   w1
## 3            3         NA     2'FL    NA   w1
## 8434       146         NA    DSLNH    NA   w3
## 8435       147         NA    DSLNH    NA   w3
## 8436       148         NA    DSLNH    NA   w3
sum_hmo = Rmisc::summarySE(tb3, measurevar="value", groupvars=c("onda","variable"),
                           na.rm = T)
headtail(sum_hmo)
##    onda variable  N      value         sd         se        ci
## 1    w1     2'FL 43 4575.30384 2394.26944 365.122666 736.84737
## 2    w1     3'SL 43  342.45873  187.23204  28.552619  57.62152
## 3    w1      3FL 43  235.13986  116.77472  17.807977  35.93795
## 55   w3      LNT 21 1412.98045  674.98590 147.293998 307.24990
## 56   w3     LSTb 21   94.99957   38.70427   8.445964  17.61797
## 57   w3     LSTc 21  131.57653   78.46418  17.122288  35.71647
sum_hmo_secretor = Rmisc::summarySE(tb3 %>% filter(hmo_status==1), 
                                    measurevar="value", groupvars=c("onda","variable"),
                                    na.rm = T)
headtail(sum_hmo_secretor)
##    onda variable  N      value         sd         se        ci
## 1    w1     2'FL 37 5314.65922 1631.40076 268.200632 543.93609
## 2    w1     3'SL 37  365.53364  187.39560  30.807646  62.48080
## 3    w1      3FL 37  259.45728  105.31856  17.314264  35.11496
## 55   w3      LNT 19 1444.08485  703.18017 161.320596 338.92199
## 56   w3     LSTb 19   94.08463   38.40074   8.809734  18.50857
## 57   w3     LSTc 19  140.50920   76.79080  17.617019  37.01198
sum_hmo_nonsecretor = Rmisc::summarySE(tb3 %>% filter(hmo_status==0), 
                                    measurevar="value", groupvars=c("onda","variable"),
                                    na.rm = T)
headtail(sum_hmo_nonsecretor)
##    onda variable N      value        sd        se         ci
## 1    w1     2'FL 6   15.94564  12.92597  5.277004   13.56497
## 2    w1     3'SL 6  200.16341 115.70718 47.237260  121.42724
## 3    w1      3FL 6   85.18241  57.63888 23.530976   60.48830
## 55   w3      LNT 2 1117.48867 137.05416 96.911927 1231.38279
## 56   w3     LSTb 2  103.69156  57.01139 40.313139  512.22700
## 57   w3     LSTc 2   46.71613  32.72651 23.141136  294.03601
# ABSOLUTE GGPLOT
# <title> Figure. Mean +/- SEM absolute total and HMO isoform concentrations of all women combined (A), nonsecretors (B), and secretors (C).

library(RColorBrewer)

colourCount = length(unique(sum_hmo$variable))
getPalette = colorRampPalette(brewer.pal(12, "Paired")) # "Set3" "Accent" "Set1"

#dev.new()
ggplot(data=sum_hmo, aes(x=onda, y=value, group=variable, fill=variable)) + 
  geom_bar(stat="identity", position=position_stack(reverse=T)) +
  scale_fill_manual(values=getPalette(colourCount),
                    guide = guide_legend(reverse=T)) +
  labs(title="A) All women",
       x="Postpartum period", 
       y="HMO concentration (nmol/mL)") +
  scale_x_discrete(labels=c("w1"="1-7 days","w2"="30-45 days","w3"="3 months")) + 
  scale_y_continuous(limits=c(0, 18000)) +
  theme_minimal() + 
  theme(panel.grid = element_blank(),
        legend.position="right",
        legend.title=element_blank(),
        text = element_text(size=13),
        axis.text=element_text(size = 13))

ggplot(data=sum_hmo_secretor, aes(x=onda, y=value, group=variable, fill=variable)) + 
  geom_bar(stat="identity", position=position_stack(reverse=T)) +
  scale_fill_manual(values=getPalette(colourCount),
                    guide = guide_legend(reverse=T)) +
  labs(title="B) Secretors",
       x="Postpartum period", 
       y="HMO concentration (nmol/mL)") +
  scale_x_discrete(labels=c("w1"="1-7 days","w2"="30-45 days","w3"="3 months")) + 
  scale_y_continuous(limits=c(0, 18000)) +
  theme_minimal() + 
  theme(panel.grid = element_blank(),
        legend.position="right",
        legend.title=element_blank(),
        text = element_text(size=13),
        axis.text=element_text(size = 13))

ggplot(data=sum_hmo_nonsecretor, aes(x=onda, y=value, group=variable, fill=variable)) + 
  geom_bar(stat="identity", position=position_stack(reverse=T)) +
  scale_fill_manual(values=getPalette(colourCount),
                    guide = guide_legend(reverse=T)) +
  labs(title="C) Nonsecretors",
       x="Postpartum period", 
       y="HMO concentration (nmol/mL)") +
  scale_x_discrete(labels=c("w1"="1-7 days","w2"="30-45 days","w3"="3 months")) + 
  scale_y_continuous(limits=c(0, 18000)) +
  theme_minimal() + 
  theme(panel.grid = element_blank(),
        legend.position="right",
        legend.title=element_blank(),
        text = element_text(size=13),
        axis.text=element_text(size = 13))

# RELATIVE GGPLOT
# <title> Figure. Mean +/- SEM relative total and HMO isoform concentrations of all women combined (A), nonsecretors (B), and secretors (C).

#dev.new()
ggplot(data=sum_hmo, aes(x=onda, y=value, group=variable, fill=variable)) + 
  geom_bar(stat="identity", position=position_fill(reverse = TRUE)) +
  scale_y_continuous(labels=scales::percent) +
  scale_fill_manual(values=getPalette(colourCount),
                    guide = guide_legend(reverse=T)) +
  labs(title="A) All women",
       x="Postpartum period", 
       y="Relative HMO concentration (% of total)") +
  scale_x_discrete(labels=c("w1"="1-7 days","w2"="30-45 days","w3"="3 months")) + 
  theme_minimal() + 
  theme(panel.grid = element_blank(),
        legend.position="right",
        legend.title=element_blank(),
        text = element_text(size=13),
        axis.text=element_text(size = 13))

ggplot(data=sum_hmo_secretor, aes(x=onda, y=value, group=variable, fill=variable)) + 
  geom_bar(stat="identity", position=position_fill(reverse = TRUE)) +
  scale_y_continuous(labels=scales::percent) +
  scale_fill_manual(values=getPalette(colourCount),
                    guide = guide_legend(reverse=T)) +
  labs(title="B) Secretors",
       x="Postpartum period", 
       y="Relative HMO concentration (% of total)") +
  scale_x_discrete(labels=c("w1"="1-7 days","w2"="30-45 days","w3"="3 months")) + 
  theme_minimal() + 
  theme(panel.grid = element_blank(),
        legend.position="right",
        legend.title=element_blank(),
        text = element_text(size=13),
        axis.text=element_text(size = 13))

ggplot(data=sum_hmo_nonsecretor, aes(x=onda, y=value, group=variable, fill=variable)) + 
  geom_bar(stat="identity", position=position_fill(reverse = TRUE)) +
  scale_y_continuous(labels=scales::percent) +
  scale_fill_manual(values=getPalette(colourCount),
                    guide = guide_legend(reverse=T)) +
  labs(title="C) Nonsecretors",
       x="Postpartum period", 
       y="Relative HMO concentration (% of total)") +
  scale_x_discrete(labels=c("w1"="1-7 days","w2"="30-45 days","w3"="3 months")) + 
  theme_minimal() + 
  theme(panel.grid = element_blank(),
        legend.position="right",
        legend.title=element_blank(),
        text = element_text(size=13),
        axis.text=element_text(size = 13))

##############################################
#### 1-FACTOR ANOVA + Bonferroni #############
##############################################

## PREPARAR...

tb2 = banco %>% dplyr::select("record_id", 238:257, 583:602, 928:947) #dim = 148 x 60 (=20 x 3)
tb2 = melt(tb2, id="record_id")
headtail(tb2)
##      record_id variable value
## 1            1  2'FL_7d    NA
## 2            2  2'FL_7d    NA
## 3            3  2'FL_7d    NA
## 8878       146   SUM_3m    NA
## 8879       147   SUM_3m    NA
## 8880       148   SUM_3m    NA
tb2$onda=rep(c("w1","w2","w3"), each=2960)
tb2$onda=as.factor(tb2$onda)
headtail(tb2)
##      record_id variable value onda
## 1            1  2'FL_7d    NA   w1
## 2            2  2'FL_7d    NA   w1
## 3            3  2'FL_7d    NA   w1
## 8878       146   SUM_3m    NA   w3
## 8879       147   SUM_3m    NA   w3
## 8880       148   SUM_3m    NA   w3
tb2$variable = as.factor(sub("[_].*", "", tb2$variable)) # levels(tb2$variable)
headtail(tb2)
##      record_id variable value onda
## 1            1     2'FL    NA   w1
## 2            2     2'FL    NA   w1
## 3            3     2'FL    NA   w1
## 8878       146      SUM    NA   w3
## 8879       147      SUM    NA   w3
## 8880       148      SUM    NA   w3
## APONTAR...

mean_sd_w1 = tapply(tb2$value[tb2$onda=="w1"], tb2$variable[tb2$onda=="w1"], mean_sd, na_rm=T, show_n="never") 
mean_sd_w2 = tapply(tb2$value[tb2$onda=="w2"], tb2$variable[tb2$onda=="w2"], mean_sd, na_rm=T, show_n="never") 
mean_sd_w3 = tapply(tb2$value[tb2$onda=="w3"], tb2$variable[tb2$onda=="w3"], mean_sd, na_rm=T, show_n="never") 

knitr::kable(mean_sd_w1, format="markdown", col.names=c("Mean (SD)"))
Mean (SD)
2’FL 4,575.30 \(\pm\) 2,394.27
3’SL 342.46 \(\pm\) 187.23
3FL 235.14 \(\pm\) 116.77
6’SL 350.21 \(\pm\) 224.24
DFLac 253.30 \(\pm\) 134.79
DFLNH 160.79 \(\pm\) 147.04
DFLNT 1,451.19 \(\pm\) 790.97
DSLNH 237.30 \(\pm\) 104.67
DSLNT 635.73 \(\pm\) 218.85
FDSLNH 110.29 \(\pm\) 102.04
FLNH 119.35 \(\pm\) 82.04
LNFPI 2,638.96 \(\pm\) 1,377.29
LNFPII 1,047.32 \(\pm\) 653.09
LNFPIII 99.20 \(\pm\) 50.33
LNH 88.89 \(\pm\) 93.16
LNnT 814.53 \(\pm\) 486.69
LNT 1,617.76 \(\pm\) 892.83
LSTb 120.78 \(\pm\) 108.50
LSTc 825.28 \(\pm\) 321.24
SUM 15,723.77 \(\pm\) 2,636.81
knitr::kable(mean_sd_w2, format="markdown", col.names=c("Mean (SD)"))
Mean (SD)
2’FL 5,001.34 \(\pm\) 2,487.45
3’SL 440.48 \(\pm\) 219.58
3FL 335.93 \(\pm\) 174.35
6’SL 578.32 \(\pm\) 227.09
DFLac 385.91 \(\pm\) 186.37
DFLNH 172.78 \(\pm\) 124.98
DFLNT 1,434.74 \(\pm\) 836.71
DSLNH 287.09 \(\pm\) 123.18
DSLNT 264.65 \(\pm\) 221.52
FDSLNH 283.94 \(\pm\) 220.80
FLNH 135.71 \(\pm\) 86.44
LNFPI 1,721.06 \(\pm\) 1,233.38
LNFPII 1,308.19 \(\pm\) 721.88
LNFPIII 77.10 \(\pm\) 39.09
LNH 108.42 \(\pm\) 78.93
LNnT 352.32 \(\pm\) 224.29
LNT 1,496.85 \(\pm\) 650.19
LSTb 123.09 \(\pm\) 49.69
LSTc 295.55 \(\pm\) 128.66
SUM 14,803.45 \(\pm\) 2,402.59
knitr::kable(mean_sd_w3, format="markdown", col.names=c("Mean (SD)"))
Mean (SD)
2’FL 5,937.33 \(\pm\) 3,257.14
3’SL 672.92 \(\pm\) 434.00
3FL 373.56 \(\pm\) 155.32
6’SL 344.50 \(\pm\) 131.90
DFLac 425.27 \(\pm\) 177.84
DFLNH 65.18 \(\pm\) 55.60
DFLNT 1,327.04 \(\pm\) 718.03
DSLNH 128.27 \(\pm\) 54.49
DSLNT 57.79 \(\pm\) 74.31
FDSLNH 355.06 \(\pm\) 259.80
FLNH 88.59 \(\pm\) 52.32
LNFPI 1,164.30 \(\pm\) 838.89
LNFPII 1,745.22 \(\pm\) 808.22
LNFPIII 52.00 \(\pm\) 24.67
LNH 70.60 \(\pm\) 40.95
LNnT 672.56 \(\pm\) 287.32
LNT 1,412.98 \(\pm\) 674.99
LSTb 95.00 \(\pm\) 38.70
LSTc 131.58 \(\pm\) 78.46
SUM 15,119.75 \(\pm\) 2,554.96
#by(tb2$value[tb2$onda=="w1"], tb2$variable[tb2$onda=="w1"], mean_sd, na_rm=T, show_n="never")

## FOGOOO !!!

levels(tb2$variable)
##  [1] "2'FL"    "3'SL"    "3FL"     "6'SL"    "DFLac"   "DFLNH"   "DFLNT"  
##  [8] "DSLNH"   "DSLNT"   "FDSLNH"  "FLNH"    "LNFPI"   "LNFPII"  "LNFPIII"
## [15] "LNH"     "LNnT"    "LNT"     "LSTb"    "LSTc"    "SUM"
model_1=aov(value[variable=="2'FL"] ~ onda[variable=="2'FL"], data=tb2)
out_1=LSD.test(model_1, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_1 ~ "onda"
## 
## LSD t Test for value[variable == "2'FL"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  6785050 
## 
## onda[variable == "2'FL"],  means and individual ( 95 %) CI
## 
##    value.variable.....2.FL..      std  r      LCL      UCL       Min
## w1                  4575.304 2394.269 43 3788.539 5362.068  8.873210
## w2                  5001.336 2487.450 55 4305.675 5696.997  1.473807
## w3                  5937.334 3257.144 21 4811.513 7063.155 47.255995
##          Max
## w1  9436.263
## w2 10619.831
## w3 12839.160
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL      UCL
## w1 - w2  -426.0320 1.0000         -1714.092 862.0281
## w1 - w3 -1362.0298 0.1557         -3046.583 322.5237
## w2 - w3  -935.9978 0.4918         -2559.132 687.1367
#out_1

model_2=aov(value[variable=="3'SL"] ~ onda[variable=="3'SL"], data=tb2)
out_2=LSD.test(model_2, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_2 ~ "onda"
## 
## LSD t Test for value[variable == "3'SL"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  67611.51 
## 
## onda[variable == "3'SL"],  means and individual ( 95 %) CI
## 
##    value.variable.....3.SL..      std  r      LCL      UCL       Min
## w1                  342.4587 187.2320 43 263.9210 420.9965  49.48814
## w2                  440.4754 219.5762 55 371.0319 509.9189 141.66936
## w3                  672.9190 433.9960 21 560.5353 785.3026 192.10786
##          Max
## w1  965.1158
## w2 1014.8000
## w3 1771.0216
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL        UCL
## w1 - w2  -98.01669 0.1998         -226.5957   30.56227
## w1 - w3 -330.46024 0.0000     *** -498.6186 -162.30185
## w2 - w3 -232.44355 0.0021      ** -394.4709  -70.41623
#out_2

model_3=aov(value[variable=="3FL"] ~ onda[variable=="3FL"], data=tb2)
out_3=LSD.test(model_3, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_3 ~ "onda"
## 
## LSD t Test for value[variable == "3FL"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  23246.63 
## 
## onda[variable == "3FL"],  means and individual ( 95 %) CI
## 
##    value.variable.....3FL..      std  r      LCL      UCL       Min
## w1                 235.1399 116.7747 43 189.0879 281.1918  15.47513
## w2                 335.9340 174.3458 55 295.2147 376.6534 102.52644
## w3                 373.5552 155.3181 21 307.6572 439.4533 145.13431
##          Max
## w1  531.6593
## w2 1090.3054
## w3  708.7105
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL       UCL
## w1 - w2  -100.7942 0.0046      ** -176.1887 -25.39970
## w1 - w3  -138.4154 0.0027      ** -237.0179 -39.81282
## w2 - w3   -37.6212 1.0000         -132.6287  57.38630
#out_3

model_4=aov(value[variable=="6'SL"] ~ onda[variable=="6'SL"], data=tb2)
out_4=LSD.test(model_4, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_4 ~ "onda"
## 
## LSD t Test for value[variable == "6'SL"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  45213.68 
## 
## onda[variable == "6'SL"],  means and individual ( 95 %) CI
## 
##    value.variable.....6.SL..      std  r      LCL      UCL       Min
## w1                  350.2109 224.2430 43 285.9861 414.4358  66.30064
## w2                  578.3153 227.0937 55 521.5274 635.1033 193.59157
## w3                  344.5038 131.9007 21 252.6012 436.4064 100.23206
##          Max
## w1 1253.9314
## w2 1168.9649
## w3  532.4109
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##          difference pvalue signif.       LCL       UCL
## w1 - w2 -228.104400  0e+00     *** -333.2508 -122.9580
## w1 - w3    5.707099  1e+00         -131.8057  143.2199
## w2 - w3  233.811499  1e-04     ***  101.3124  366.3106
#out_4

model_5=aov(value[variable=="DFLac"] ~ onda[variable=="DFLac"], data=tb2)
out_5=LSD.test(model_5, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_5 ~ "onda"
## 
## LSD t Test for value[variable == "DFLac"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  28200.08 
## 
## onda[variable == "DFLac"],  means and individual ( 95 %) CI
## 
##    value.variable.....DFLac..      std  r      LCL      UCL       Min
## w1                   253.2968 134.7861 43 202.5751 304.0184  8.383564
## w2                   385.9064 186.3712 55 341.0580 430.7547 24.976855
## w3                   425.2714 177.8392 21 352.6912 497.8515 10.772385
##         Max
## w1 601.4064
## w2 872.8305
## w3 759.9184
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL       UCL
## w1 - w2  -132.6096  5e-04     *** -215.6491 -49.57005
## w1 - w3  -171.9746  6e-04     *** -280.5755 -63.37366
## w2 - w3   -39.3650  1e+00         -144.0063  65.27630
#out_5

model_6=aov(value[variable=="DFLNH"] ~ onda[variable=="DFLNH"], data=tb2)
out_6=LSD.test(model_6, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_6 ~ "onda"
## 
## LSD t Test for value[variable == "DFLNH"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  15632.47 
## 
## onda[variable == "DFLNH"],  means and individual ( 95 %) CI
## 
##    value.variable.....DFLNH..       std  r       LCL      UCL       Min
## w1                  160.78542 147.03719 43 123.02107 198.5498  7.736311
## w2                  172.77919 124.98161 55 139.38776 206.1706  7.324023
## w3                   65.17786  55.60009 21  11.13895 119.2168 17.595097
##         Max
## w1 793.9381
## w2 606.3908
## w3 206.9968
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL       UCL
## w1 - w2  -11.99377 1.0000         -73.82008  49.83255
## w1 - w3   95.60756 0.0145       *  14.74974 176.46538
## w2 - w3  107.60132 0.0032      **  29.69159 185.51106
#out_6

model_7=aov(value[variable=="DFLNT"] ~ onda[variable=="DFLNT"], data=tb2)
out_7=LSD.test(model_7, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_7 ~ "onda"
## 
## LSD t Test for value[variable == "DFLNT"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  641314.1 
## 
## onda[variable == "DFLNT"],  means and individual ( 95 %) CI
## 
##    value.variable.....DFLNT..      std  r       LCL      UCL       Min
## w1                   1451.191 790.9748 43 1209.3087 1693.073 148.66005
## w2                   1434.740 836.7051 55 1220.8670 1648.614  13.26986
## w3                   1327.039 718.0333 21  980.9174 1673.160  64.93601
##         Max
## w1 3532.190
## w2 3379.887
## w3 2270.841
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL      UCL
## w1 - w2   16.45048      1         -379.5494 412.4503
## w1 - w3  124.15215      1         -393.7452 642.0495
## w2 - w3  107.70168      1         -391.3130 606.7164
#out_7

model_8=aov(value[variable=="DSLNH"] ~ onda[variable=="DSLNH"], data=tb2)
out_8=LSD.test(model_8, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_8 ~ "onda"
## 
## LSD t Test for value[variable == "DSLNH"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  11541.81 
## 
## onda[variable == "DSLNH"],  means and individual ( 95 %) CI
## 
##    value.variable.....DSLNH..       std  r       LCL      UCL      Min
## w1                   237.2962 104.67281 43 204.84685 269.7454 57.39176
## w2                   287.0922 123.17568 55 258.40041 315.7841 89.36123
## w3                   128.2675  54.48875 21  81.83412 174.7008 14.77203
##         Max
## w1 479.5164
## w2 556.1867
## w3 247.4448
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.        LCL        UCL
## w1 - w2  -49.79608 0.0739       . -102.92080   3.328639
## w1 - w3  109.02869 0.0007     ***   39.55101 178.506373
## w2 - w3  158.82477 0.0000     ***   91.88026 225.769290
#out_8

model_9=aov(value[variable=="DSLNT"] ~ onda[variable=="DSLNT"], data=tb2)
out_9=LSD.test(model_9, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_9 ~ "onda"
## 
## LSD t Test for value[variable == "DSLNT"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  41138.35 
## 
## onda[variable == "DSLNT"],  means and individual ( 95 %) CI
## 
##    value.variable.....DSLNT..       std  r       LCL      UCL       Min
## w1                  635.72806 218.85386 43 574.46599 696.9901 25.979887
## w2                  264.64741 221.52380 55 210.47919 318.8156  3.194394
## w3                   57.79312  74.31118 21 -29.86987 145.4561  7.785786
##          Max
## w1 1130.3700
## w2  736.7102
## w3  336.1953
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL      UCL
## w1 - w2   371.0806  0e+00     *** 270.78478 471.3765
## w1 - w3   577.9349  0e+00     *** 446.76579 709.1041
## w2 - w3   206.8543  4e-04     ***  80.46759 333.2410
#out_9

model_10=aov(value[variable=="FDSLNH"] ~ onda[variable=="FDSLNH"], data=tb2)
out_10=LSD.test(model_10, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_10 ~ "onda"
## 
## LSD t Test for value[variable == "FDSLNH"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  38102.92 
## 
## onda[variable == "FDSLNH"],  means and individual ( 95 %) CI
## 
##    value.variable.....FDSLNH..      std  r       LCL      UCL      Min
## w1                    110.2931 102.0421 43  51.33442 169.2517 20.18971
## w2                    283.9391 220.8017 55 231.80755 336.0706 37.33255
## w3                    355.0608 259.8006 21 270.69389 439.4276 87.96471
##          Max
## w1  478.1588
## w2  992.3354
## w3 1092.6768
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL        UCL
## w1 - w2  -173.6460 0.0001     *** -270.1708  -77.12124
## w1 - w3  -244.7677 0.0000     *** -371.0049 -118.53050
## w2 - w3   -71.1217 0.4745         -192.7563   50.51288
#out_10

model_11=aov(value[variable=="FLNH"] ~ onda[variable=="FLNH"], data=tb2)
out_11=LSD.test(model_11, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_11 ~ "onda"
## 
## LSD t Test for value[variable == "FLNH"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  6387.157 
## 
## onda[variable == "FLNH"],  means and individual ( 95 %) CI
## 
##    value.variable.....FLNH..      std  r       LCL      UCL      Min
## w1                  119.3451 82.03619 43  95.20598 143.4843 10.23279
## w2                  135.7129 86.44340 55 114.36893 157.0568 15.16136
## w3                   88.5876 52.31639 21  54.04566 123.1295 17.50512
##         Max
## w1 363.1713
## w2 408.1923
## w3 237.2466
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.        LCL      UCL
## w1 - w2  -16.36775 0.9494         -55.887434 23.15193
## w1 - w3   30.75754 0.4529         -20.927170 82.44225
## w2 - w3   47.12529 0.0699       .  -2.674985 96.92557
#out_11

model_12=aov(value[variable=="LNFPI"] ~ onda[variable=="LNFPI"], data=tb2)
out_12=LSD.test(model_12, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_12 ~ "onda"
## 
## LSD t Test for value[variable == "LNFPI"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  1516313 
## 
## onda[variable == "LNFPI"],  means and individual ( 95 %) CI
## 
##    value.variable.....LNFPI..       std  r       LCL      UCL       Min
## w1                   2638.964 1377.2946 43 2267.0327 3010.895  57.73936
## w2                   1721.061 1233.3797 55 1392.1979 2049.925  92.17351
## w3                   1164.302  838.8868 21  632.0865 1696.517 125.01014
##         Max
## w1 5000.461
## w2 5171.549
## w3 2965.465
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL      UCL
## w1 - w2   917.9027 0.0011      **  308.9914 1526.814
## w1 - w3  1474.6623 0.0000     ***  678.3147 2271.010
## w2 - w3   556.7596 0.2418         -210.5530 1324.072
#out_12

model_13=aov(value[variable=="LNFPII"] ~ onda[variable=="LNFPII"], data=tb2)
out_13=LSD.test(model_13, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_13 ~ "onda"
## 
## LSD t Test for value[variable == "LNFPII"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  509643.2 
## 
## onda[variable == "LNFPII"],  means and individual ( 95 %) CI
## 
##    value.variable.....LNFPII..      std  r       LCL      UCL      Min
## w1                    1047.319 653.0938 43  831.6926 1262.945 267.5823
## w2                    1308.185 721.8783 55 1117.5278 1498.843 328.8927
## w3                    1745.219 808.2214 21 1436.6687 2053.769 735.7669
##         Max
## w1 2921.199
## w2 3433.966
## w3 3627.576
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.        LCL         UCL
## w1 - w2  -260.8667 0.2257          -613.8813   92.147940
## w1 - w3  -697.9002 0.0011      ** -1159.5805 -236.219908
## w2 - w3  -437.0335 0.0559       .  -881.8809    7.813869
#out_13

model_14=aov(value[variable=="LNFPIII"] ~ onda[variable=="LNFPIII"], data=tb2)
out_14=LSD.test(model_14, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_14 ~ "onda"
## 
## LSD t Test for value[variable == "LNFPIII"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  1733.484 
## 
## onda[variable == "LNFPIII"],  means and individual ( 95 %) CI
## 
##    value.variable.....LNFPIII..      std  r      LCL       UCL      Min
## w1                     99.20448 50.32939 43 86.62889 111.78006 45.24402
## w2                     77.09704 39.09277 55 65.97765  88.21643 23.76174
## w3                     51.99749 24.66874 21 34.00245  69.99253 17.37602
##          Max
## w1 300.21614
## w2 248.89678
## w3  89.47754
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.        LCL      UCL
## w1 - w2   22.10744 0.0309       *  1.5191818 42.69569
## w1 - w3   47.20699 0.0001     *** 20.2812139 74.13276
## w2 - w3   25.09955 0.0614       . -0.8445058 51.04361
#out_14

model_15=aov(value[variable=="LNH"] ~ onda[variable=="LNH"], data=tb2)
out_15=LSD.test(model_15, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_15 ~ "onda"
## 
## LSD t Test for value[variable == "LNH"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  6331.485 
## 
## onda[variable == "LNH"],  means and individual ( 95 %) CI
## 
##    value.variable.....LNH..      std  r      LCL      UCL       Min
## w1                 88.89172 93.16362 43 64.85800 112.9254  9.598484
## w2                108.42429 78.92617 55 87.17356 129.6750 21.820551
## w3                 70.59994 40.94547 21 36.20887 104.9910 16.490096
##         Max
## w1 525.6633
## w2 428.2573
## w3 175.0604
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL      UCL
## w1 - w2  -19.53257 0.6909         -58.87964 19.81450
## w1 - w3   18.29178 1.0000         -33.16718 69.75075
## w2 - w3   37.82435 0.1992         -11.75841 87.40712
#out_15

model_16=aov(value[variable=="LNnT"] ~ onda[variable=="LNnT"], data=tb2)
out_16=LSD.test(model_16, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_16 ~ "onda"
## 
## LSD t Test for value[variable == "LNnT"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  123413.3 
## 
## onda[variable == "LNnT"],  means and individual ( 95 %) CI
## 
##    value.variable.....LNnT..      std  r      LCL      UCL       Min
## w1                  814.5270 486.6904 43 708.4187 920.6353 154.00172
## w2                  352.3151 224.2884 55 258.4937 446.1366  67.55773
## w3                  672.5642 287.3165 21 520.7286 824.3999 324.57999
##         Max
## w1 2048.859
## w2 1118.779
## w3 1498.809
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.        LCL       UCL
## w1 - w2   462.2119 0.0000     ***  288.49560  635.9282
## w1 - w3   141.9628 0.3953          -85.22723  369.1528
## w2 - w3  -320.2491 0.0017      ** -539.15574 -101.3425
#out_16

model_17=aov(value[variable=="LNT"] ~ onda[variable=="LNT"], data=tb2)
out_17=LSD.test(model_17, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_17 ~ "onda"
## 
## LSD t Test for value[variable == "LNT"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  563970.9 
## 
## onda[variable == "LNT"],  means and individual ( 95 %) CI
## 
##    value.variable.....LNT..      std  r      LCL      UCL      Min
## w1                 1617.760 892.8264 43 1390.932 1844.588 286.4739
## w2                 1496.848 650.1947 55 1296.286 1697.410 542.2827
## w3                 1412.980 674.9859 21 1088.401 1737.560 519.0140
##         Max
## w1 5211.305
## w2 3721.284
## w3 3167.202
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL      UCL
## w1 - w2  120.91225 1.0000         -250.4416 492.2661
## w1 - w3  204.77988 0.9235         -280.8849 690.4447
## w2 - w3   83.86763 1.0000         -384.0898 551.8250
#out_17

model_18=aov(value[variable=="LSTb"] ~ onda[variable=="LSTb"], data=tb2)
out_18=LSD.test(model_18, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_18 ~ "onda"
## 
## LSD t Test for value[variable == "LSTb"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  5669.823 
## 
## onda[variable == "LSTb"],  means and individual ( 95 %) CI
## 
##    value.variable.....LSTb..       std  r       LCL      UCL      Min
## w1                 120.77566 108.49924 43  98.03239 143.5189 37.49274
## w2                 123.09114  49.68634 55 102.98143 143.2009 38.22470
## w3                  94.99957  38.70427 21  62.45507 127.5441 31.99769
##         Max
## w1 760.9990
## w2 308.9165
## w3 167.3872
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL      UCL
## w1 - w2  -2.315477 1.0000         -39.54988 34.91892
## w1 - w3  25.776090 0.6032         -22.91988 74.47206
## w2 - w3  28.091567 0.4456         -18.82894 75.01208
#out_18

model_19=aov(value[variable=="LSTc"] ~ onda[variable=="LSTc"], data=tb2)
out_19=LSD.test(model_19, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_19 ~ "onda"
## 
## LSD t Test for value[variable == "LSTc"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  46129.97 
## 
## onda[variable == "LSTc"],  means and individual ( 95 %) CI
## 
##    value.variable.....LSTc..       std  r       LCL      UCL       Min
## w1                  825.2800 321.23687 43 760.40764 890.1524 201.83792
## w2                  295.5469 128.65637 55 238.18646 352.9074  79.63516
## w3                  131.5765  78.46418 21  38.74736 224.4057  23.57499
##          Max
## w1 1692.6517
## w2  668.2915
## w3  384.6444
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.       LCL      UCL
## w1 - w2   529.7331 0.0000     *** 423.52655 635.9396
## w1 - w3   693.7035 0.0000     *** 554.80426 832.6027
## w2 - w3   163.9704 0.0107       *  30.13546 297.8054
#out_19

model_20=aov(value[variable=="SUM"] ~ onda[variable=="SUM"], data=tb2)
out_20=LSD.test(model_20, "onda", p.adj="bonferroni", console=T, group=F)
## 
## Study: model_20 ~ "onda"
## 
## LSD t Test for value[variable == "SUM"] 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  6330049 
## 
## onda[variable == "SUM"],  means and individual ( 95 %) CI
## 
##    value.variable.....SUM..      std  r      LCL      UCL      Min
## w1                 15723.77 2636.812 43 14963.84 16483.70 9099.194
## w2                 14803.45 2402.593 55 14131.52 15475.38 8241.586
## w3                 15119.75 2554.962 21 14032.33 16207.16 8583.907
##         Max
## w1 18503.51
## w2 18243.79
## w3 19008.19
## 
## Alpha: 0.05 ; DF Error: 116
## Critical Value of t: 2.429194 
## 
## Comparison between treatments means
## 
##         difference pvalue signif.        LCL      UCL
## w1 - w2   920.3232 0.2248          -323.7992 2164.446
## w1 - w3   604.0234 1.0000         -1023.0674 2231.114
## w2 - w3  -316.2999 1.0000         -1884.0667 1251.467
#out_20


print(out_1$comparison)
##         difference pvalue signif.       LCL      UCL
## w1 - w2  -426.0320 1.0000         -1714.092 862.0281
## w1 - w3 -1362.0298 0.1557         -3046.583 322.5237
## w2 - w3  -935.9978 0.4918         -2559.132 687.1367
print(out_2$comparison)
##         difference pvalue signif.       LCL        UCL
## w1 - w2  -98.01669 0.1998         -226.5957   30.56227
## w1 - w3 -330.46024 0.0000     *** -498.6186 -162.30185
## w2 - w3 -232.44355 0.0021      ** -394.4709  -70.41623
print(out_3$comparison)
##         difference pvalue signif.       LCL       UCL
## w1 - w2  -100.7942 0.0046      ** -176.1887 -25.39970
## w1 - w3  -138.4154 0.0027      ** -237.0179 -39.81282
## w2 - w3   -37.6212 1.0000         -132.6287  57.38630
print(out_4$comparison)
##          difference pvalue signif.       LCL       UCL
## w1 - w2 -228.104400  0e+00     *** -333.2508 -122.9580
## w1 - w3    5.707099  1e+00         -131.8057  143.2199
## w2 - w3  233.811499  1e-04     ***  101.3124  366.3106
print(out_5$comparison)
##         difference pvalue signif.       LCL       UCL
## w1 - w2  -132.6096  5e-04     *** -215.6491 -49.57005
## w1 - w3  -171.9746  6e-04     *** -280.5755 -63.37366
## w2 - w3   -39.3650  1e+00         -144.0063  65.27630
print(out_6$comparison)
##         difference pvalue signif.       LCL       UCL
## w1 - w2  -11.99377 1.0000         -73.82008  49.83255
## w1 - w3   95.60756 0.0145       *  14.74974 176.46538
## w2 - w3  107.60132 0.0032      **  29.69159 185.51106
print(out_7$comparison)
##         difference pvalue signif.       LCL      UCL
## w1 - w2   16.45048      1         -379.5494 412.4503
## w1 - w3  124.15215      1         -393.7452 642.0495
## w2 - w3  107.70168      1         -391.3130 606.7164
print(out_8$comparison)
##         difference pvalue signif.        LCL        UCL
## w1 - w2  -49.79608 0.0739       . -102.92080   3.328639
## w1 - w3  109.02869 0.0007     ***   39.55101 178.506373
## w2 - w3  158.82477 0.0000     ***   91.88026 225.769290
print(out_9$comparison)
##         difference pvalue signif.       LCL      UCL
## w1 - w2   371.0806  0e+00     *** 270.78478 471.3765
## w1 - w3   577.9349  0e+00     *** 446.76579 709.1041
## w2 - w3   206.8543  4e-04     ***  80.46759 333.2410
print(out_10$comparison)
##         difference pvalue signif.       LCL        UCL
## w1 - w2  -173.6460 0.0001     *** -270.1708  -77.12124
## w1 - w3  -244.7677 0.0000     *** -371.0049 -118.53050
## w2 - w3   -71.1217 0.4745         -192.7563   50.51288
print(out_11$comparison)
##         difference pvalue signif.        LCL      UCL
## w1 - w2  -16.36775 0.9494         -55.887434 23.15193
## w1 - w3   30.75754 0.4529         -20.927170 82.44225
## w2 - w3   47.12529 0.0699       .  -2.674985 96.92557
print(out_12$comparison)
##         difference pvalue signif.       LCL      UCL
## w1 - w2   917.9027 0.0011      **  308.9914 1526.814
## w1 - w3  1474.6623 0.0000     ***  678.3147 2271.010
## w2 - w3   556.7596 0.2418         -210.5530 1324.072
print(out_13$comparison)
##         difference pvalue signif.        LCL         UCL
## w1 - w2  -260.8667 0.2257          -613.8813   92.147940
## w1 - w3  -697.9002 0.0011      ** -1159.5805 -236.219908
## w2 - w3  -437.0335 0.0559       .  -881.8809    7.813869
print(out_14$comparison)
##         difference pvalue signif.        LCL      UCL
## w1 - w2   22.10744 0.0309       *  1.5191818 42.69569
## w1 - w3   47.20699 0.0001     *** 20.2812139 74.13276
## w2 - w3   25.09955 0.0614       . -0.8445058 51.04361
print(out_15$comparison)
##         difference pvalue signif.       LCL      UCL
## w1 - w2  -19.53257 0.6909         -58.87964 19.81450
## w1 - w3   18.29178 1.0000         -33.16718 69.75075
## w2 - w3   37.82435 0.1992         -11.75841 87.40712
print(out_16$comparison)
##         difference pvalue signif.        LCL       UCL
## w1 - w2   462.2119 0.0000     ***  288.49560  635.9282
## w1 - w3   141.9628 0.3953          -85.22723  369.1528
## w2 - w3  -320.2491 0.0017      ** -539.15574 -101.3425
print(out_17$comparison)
##         difference pvalue signif.       LCL      UCL
## w1 - w2  120.91225 1.0000         -250.4416 492.2661
## w1 - w3  204.77988 0.9235         -280.8849 690.4447
## w2 - w3   83.86763 1.0000         -384.0898 551.8250
print(out_18$comparison)
##         difference pvalue signif.       LCL      UCL
## w1 - w2  -2.315477 1.0000         -39.54988 34.91892
## w1 - w3  25.776090 0.6032         -22.91988 74.47206
## w2 - w3  28.091567 0.4456         -18.82894 75.01208
print(out_19$comparison)
##         difference pvalue signif.       LCL      UCL
## w1 - w2   529.7331 0.0000     *** 423.52655 635.9396
## w1 - w3   693.7035 0.0000     *** 554.80426 832.6027
## w2 - w3   163.9704 0.0107       *  30.13546 297.8054
print(out_20$comparison)
##         difference pvalue signif.        LCL      UCL
## w1 - w2   920.3232 0.2248          -323.7992 2164.446
## w1 - w3   604.0234 1.0000         -1023.0674 2231.114
## w2 - w3  -316.2999 1.0000         -1884.0667 1251.467
#############################################################################################
###### Chi-square test with Benjamini and Hochberg false discovery-rate corrections #########
#############################################################################################


df3 = banco %>% dplyr::select("record_id", "HMOSecretor", "HMOSecretor_1m", "HMOSecretor_3m")
headtail(df3)
##     record_id HMOSecretor HMOSecretor_1m HMOSecretor_3m
## 1           1          NA             NA             NA
## 2           2          NA              1             NA
## 3           3          NA             NA             NA
## 146       146          NA             NA             NA
## 147       147          NA             NA             NA
## 148       148          NA             NA             NA
df3 = melt(df3, id="record_id")
headtail(df3)
##     record_id       variable value
## 1           1    HMOSecretor    NA
## 2           2    HMOSecretor    NA
## 3           3    HMOSecretor    NA
## 442       146 HMOSecretor_3m    NA
## 443       147 HMOSecretor_3m    NA
## 444       148 HMOSecretor_3m    NA
tab = table(df3$variable, df3$value)
tab
##                 
##                   0  1
##   HMOSecretor     6 37
##   HMOSecretor_1m  6 49
##   HMOSecretor_3m  2 19
chi_sq = chisq.test(tab) # simulate.p.value = T
## Warning in chisq.test(tab): Chi-squared approximation may be incorrect
chi_sq
## Pearson's Chi-squared test with tab 
## X-squared = 0.3388, df = 2, p-value = 0.8442
chisqPostHoc(chi_sq, control = "BH")
## Warning in stats::chisq.test(tmp): Chi-squared approximation may be
## incorrect
## Warning in stats::chisq.test(tmp): Chi-squared approximation may be
## incorrect
## Adjusted p-values used the BH method.
##                          comparison  raw.p adj.p
## 1    HMOSecretor vs. HMOSecretor_1m 0.8841     1
## 2    HMOSecretor vs. HMOSecretor_3m 0.9198     1
## 3 HMOSecretor_1m vs. HMOSecretor_3m 1.0000     1
#chisqPostHoc(chi_sq)

#chisq.test(tab[1,])
#chisq.test(tab[2,])
#chisq.test(tab[3,])


###################################################################
############## HMO diversity and evenness indexes #################
###################################################################

# 1 TO 7 DAYS POSTPARTUM

tb4_w1 = banco %>% dplyr::select(238:256) # 583:601, 928:946
glimpse(tb4_w1)
## Observations: 148
## Variables: 19
## $ `2'FL_7d`  <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 9.106348, N...
## $ `3FL_7d`   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 42.76633, N...
## $ LNnT_7d    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 802.8967, N...
## $ `3'SL_7d`  <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 380.7289, N...
## $ DFLac_7d   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 23.430400, ...
## $ `6'SL_7d`  <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1253.93136,...
## $ LNT_7d     <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1725.021, N...
## $ LNFPI_7d   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 77.27484, N...
## $ LNFPII_7d  <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1805.1432, ...
## $ LNFPIII_7d <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 107.00523, ...
## $ LSTb_7d    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 127.73312, ...
## $ LSTc_7d    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 405.6550, N...
## $ DFLNT_7d   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 148.6601, N...
## $ LNH_7d     <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 525.663349,...
## $ DSLNT_7d   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 631.4719, N...
## $ FLNH_7d    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 192.64154, ...
## $ DFLNH_7d   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 51.35774, N...
## $ FDSLNH_7d  <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 478.15880, ...
## $ DSLNH_7d   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 310.54825, ...
names(tb4_w1)
##  [1] "2'FL_7d"    "3FL_7d"     "LNnT_7d"    "3'SL_7d"    "DFLac_7d"  
##  [6] "6'SL_7d"    "LNT_7d"     "LNFPI_7d"   "LNFPII_7d"  "LNFPIII_7d"
## [11] "LSTb_7d"    "LSTc_7d"    "DFLNT_7d"   "LNH_7d"     "DSLNT_7d"  
## [16] "FLNH_7d"    "DFLNH_7d"   "FDSLNH_7d"  "DSLNH_7d"
summary(tb4_w1)
##     2'FL_7d             3FL_7d          LNnT_7d          3'SL_7d      
##  Min.   :   8.873   Min.   : 15.48   Min.   : 154.0   Min.   : 49.49  
##  1st Qu.:3585.216   1st Qu.:151.60   1st Qu.: 371.3   1st Qu.:229.62  
##  Median :4951.775   Median :218.91   Median : 731.7   Median :283.74  
##  Mean   :4575.304   Mean   :235.14   Mean   : 814.5   Mean   :342.46  
##  3rd Qu.:6234.048   3rd Qu.:289.17   3rd Qu.:1249.5   3rd Qu.:426.47  
##  Max.   :9436.263   Max.   :531.66   Max.   :2048.9   Max.   :965.12  
##  NA's   :105        NA's   :105      NA's   :105      NA's   :105     
##     DFLac_7d          6'SL_7d           LNT_7d          LNFPI_7d      
##  Min.   :  8.384   Min.   :  66.3   Min.   : 286.5   Min.   :  57.74  
##  1st Qu.:170.296   1st Qu.: 217.0   1st Qu.:1073.5   1st Qu.:2132.52  
##  Median :241.654   Median : 291.0   Median :1430.7   Median :2813.80  
##  Mean   :253.297   Mean   : 350.2   Mean   :1617.8   Mean   :2638.96  
##  3rd Qu.:335.532   3rd Qu.: 422.7   3rd Qu.:2043.9   3rd Qu.:3494.47  
##  Max.   :601.406   Max.   :1253.9   Max.   :5211.3   Max.   :5000.46  
##  NA's   :105       NA's   :105      NA's   :105      NA's   :105      
##    LNFPII_7d        LNFPIII_7d        LSTb_7d          LSTc_7d      
##  Min.   : 267.6   Min.   : 45.24   Min.   : 37.49   Min.   : 201.8  
##  1st Qu.: 594.0   1st Qu.: 69.20   1st Qu.: 76.02   1st Qu.: 628.3  
##  Median : 767.9   Median : 84.60   Median :101.01   Median : 808.8  
##  Mean   :1047.3   Mean   : 99.20   Mean   :120.78   Mean   : 825.3  
##  3rd Qu.:1286.7   3rd Qu.:110.43   3rd Qu.:128.93   3rd Qu.: 981.7  
##  Max.   :2921.2   Max.   :300.22   Max.   :761.00   Max.   :1692.7  
##  NA's   :105      NA's   :105      NA's   :105      NA's   :105     
##     DFLNT_7d          LNH_7d           DSLNT_7d          FLNH_7d      
##  Min.   : 148.7   Min.   :  9.598   Min.   :  25.98   Min.   : 10.23  
##  1st Qu.: 971.5   1st Qu.: 33.010   1st Qu.: 521.63   1st Qu.: 53.82  
##  Median :1546.4   Median : 61.239   Median : 645.29   Median :121.42  
##  Mean   :1451.2   Mean   : 88.892   Mean   : 635.73   Mean   :119.35  
##  3rd Qu.:1857.0   3rd Qu.:117.741   3rd Qu.: 757.72   3rd Qu.:163.56  
##  Max.   :3532.2   Max.   :525.663   Max.   :1130.37   Max.   :363.17  
##  NA's   :105      NA's   :105       NA's   :105       NA's   :105     
##     DFLNH_7d         FDSLNH_7d         DSLNH_7d     
##  Min.   :  7.736   Min.   : 20.19   Min.   : 57.39  
##  1st Qu.: 51.522   1st Qu.: 42.56   1st Qu.:160.51  
##  Median :134.040   Median : 74.22   Median :226.11  
##  Mean   :160.785   Mean   :110.29   Mean   :237.30  
##  3rd Qu.:206.006   3rd Qu.:135.41   3rd Qu.:309.80  
##  Max.   :793.938   Max.   :478.16   Max.   :479.52  
##  NA's   :105       NA's   :105      NA's   :105
shannon_div_w1 = diversity(tb4_w1, index="shannon") # parece conceitualmente = shannon_ent
mean_sd(shannon_div_w1, na_rm=T, digits=2)
## [1] "43; 2.16 $\\pm$ 0.19"
simpson_inv_w1 = diversity(tb4_w1, index="invsimpson")
mean_sd(simpson_inv_w1, na_rm=T, digits=2)
## [1] "43; 6.00 $\\pm$ 1.53"
shannon_even_mean_w1 = diversityresult(tb4_w1[complete.cases(tb4_w1),], index="Jevenness", method="mean", digits=2)
shannon_even_sd_w1 = diversityresult(tb4_w1[complete.cases(tb4_w1),], index="Jevenness", method="sd", digits=2)
shannon_even_mean_w1; shannon_even_sd_w1
##      Jevenness
## mean      0.73
##    Jevenness
## sd      0.06
pielou_even_w1 = shannon_div_w1/log(specnumber(tb4_w1))
mean_sd(pielou_even_w1, na_rm=T, digits=2)
## [1] "43; 0.73 $\\pm$ 0.06"
# shannon_ent = ?
# simpson_even = ?
## diversityresult(tb4[complete.cases(tb4),], index="Eevenness", method="mean", digits=5)
## RAM::evenness(tb4, index = "shannon")
#nota# alfa-diversity metrics (richness, Shannon diversity index, the inverse Simpson)


# 30 TO 45 DAYS POSTPARTUM

tb4_w2 = banco %>% dplyr::select(583:601)
names(tb4_w2)
##  [1] "2'FL_1m"    "3FL_1m"     "LNnT_1m"    "3'SL_1m"    "DFLac_1m"  
##  [6] "6'SL_1m"    "LNT_1m"     "LNFPI_1m"   "LNFPII_1m"  "LNFPIII_1m"
## [11] "LSTb_1m"    "LSTc_1m"    "DFLNT_1m"   "LNH_1m"     "DSLNT_1m"  
## [16] "FLNH_1m"    "DFLNH_1m"   "FDSLNH_1m"  "DSLNH_1m"
shannon_div_w2 = diversity(tb4_w2, index="shannon")
mean_sd(shannon_div_w2, na_rm=T, digits=2)
## [1] "55; 2.15 $\\pm$ 0.21"
simpson_inv_w2 = diversity(tb4_w2, index="invsimpson")
mean_sd(simpson_inv_w2, na_rm=T, digits=2)
## [1] "55; 5.59 $\\pm$ 1.43"
shannon_even_mean_w2 = diversityresult(tb4_w2[complete.cases(tb4_w2),], index="Jevenness", method="mean", digits=2)
shannon_even_sd_w2 = diversityresult(tb4_w2[complete.cases(tb4_w2),], index="Jevenness", method="sd", digits=2)
shannon_even_mean_w2; shannon_even_sd_w2
##      Jevenness
## mean      0.73
##    Jevenness
## sd      0.07
pielou_even_w2 = shannon_div_w2/log(specnumber(tb4_w2))
mean_sd(pielou_even_w2, na_rm=T, digits=2)
## [1] "55; 0.73 $\\pm$ 0.07"
# 3 MONTHS POSTPARTUM

tb4_w3 = banco %>% dplyr::select(928:946)
names(tb4_w3)
##  [1] "2'FL_3m"    "3FL_3m"     "LNnT_3m"    "3'SL_3m"    "DFLac_3m"  
##  [6] "6'SL_3m"    "LNT_3m"     "LNFPI_3m"   "LNFPII_3m"  "LNFPIII_3m"
## [11] "LSTb_3m"    "LSTc_3m"    "DFLNT_3m"   "LNH_3m"     "DSLNT_3m"  
## [16] "FLNH_3m"    "DFLNH_3m"   "FDSLNH_3m"  "DSLNH_3m"
shannon_div_w3 = diversity(tb4_w3, index="shannon")
mean_sd(shannon_div_w3, na_rm=T, digits=2)
## [1] "21; 2.00 $\\pm$ 0.27"
simpson_inv_w3 = diversity(tb4_w3, index="invsimpson")
mean_sd(simpson_inv_w3, na_rm=T, digits=2)
## [1] "21; 4.90 $\\pm$ 1.51"
shannon_even_mean_w3 = diversityresult(tb4_w3[complete.cases(tb4_w3),], index="Jevenness", method="mean", digits=2)
shannon_even_sd_w3 = diversityresult(tb4_w3[complete.cases(tb4_w3),], index="Jevenness", method="sd", digits=2)
shannon_even_mean_w3; shannon_even_sd_w3
##      Jevenness
## mean      0.68
##    Jevenness
## sd      0.09
pielou_even_w3 = shannon_div_w3/log(specnumber(tb4_w3))
mean_sd(pielou_even_w3, na_rm=T, digits=2)
## [1] "21; 0.68 $\\pm$ 0.09"
E = matrix(c(mean_sd(shannon_div_w1, na_rm=T, show_n="never", denote_sd = "paren", digits = 2),
             mean_sd(simpson_inv_w1, na_rm=T, show_n="never", denote_sd = "paren", digits = 2),
             "0.73 (0.06)", # shannon_even_mean_w1; shannon_even_sd_w1
             mean_sd(pielou_even_w1, na_rm=T, show_n="never", denote_sd = "paren", digits = 2),
             
             mean_sd(shannon_div_w2, na_rm=T, show_n="never", denote_sd = "paren", digits = 2),
             mean_sd(simpson_inv_w2, na_rm=T, show_n="never", denote_sd = "paren", digits = 2),
             "0.73 (0.07)", # shannon_even_mean_w2; shannon_even_sd_w2
             mean_sd(pielou_even_w2, na_rm=T, show_n="never", denote_sd = "paren", digits = 2),
             
             mean_sd(shannon_div_w3, na_rm=T, show_n="never", denote_sd = "paren", digits = 2),
             mean_sd(simpson_inv_w3, na_rm=T, show_n="never", denote_sd = "paren", digits = 2),
             "0.68 (0.09)", # shannon_even_mean_w3; shannon_even_sd_w3
             mean_sd(pielou_even_w3, na_rm=T, show_n="never", denote_sd = "paren", digits = 2)),
           nrow=4, ncol=3, byrow=F) 

dimnames(E) = list(c("Shannon diversity", "Inverse Simpson", "Shannon evenness", "Pielou evenness"),
                   c("1-7 days postpartum (n=43)", "30-45 day postpartum (n=55)", 
                     "3 months postpartum (n=21)"))

knitr::kable(E, format="html", 
             caption="Table 4. Variation in HMO diversity and evenness indexes among women 
             participating in the study.") %>% 
  kable_styling("striped",full_width = T) %>%
  footnote(general="All values are means (SD). HMO: human milk oligosaccharide.")
Table 4. Variation in HMO diversity and evenness indexes among women participating in the study.
1-7 days postpartum (n=43) 30-45 day postpartum (n=55) 3 months postpartum (n=21)
Shannon diversity 2.16 (0.19) 2.15 (0.21) 2.00 (0.27)
Inverse Simpson 6.00 (1.53) 5.59 (1.43) 4.90 (1.51)
Shannon evenness 0.73 (0.06) 0.73 (0.07) 0.68 (0.09)
Pielou evenness 0.73 (0.06) 0.73 (0.07) 0.68 (0.09)
Note:
All values are means (SD). HMO: human milk oligosaccharide.
####################################
############## NMF #################
####################################

library(NMF) # install.packages("NMF", dep=T)
## Loading required package: pkgmaker
## Loading required package: registry
## 
## Attaching package: 'pkgmaker'
## The following object is masked from 'package:base':
## 
##     isFALSE
## Loading required package: rngtools
## Loading required package: cluster
## NMF - BioConductor layer [NO: missing Biobase] | Shared memory capabilities [NO: windows] | Cores 3/4
##   To enable the Bioconductor layer, try: install.extras('
## NMF
## ') [with Bioconductor repository enabled]
## 
## Attaching package: 'NMF'
## The following object is masked from 'package:agricolae':
## 
##     consensus
tb5_w1 = banco %>% dplyr::select(238:256) # 583:601, 928:946
tb5_w1=tb5_w1[complete.cases(tb5_w1),]
tb5_w1 = t(tb5_w1)
res_w1 = nmf(tb5_w1, 19, method="brunet")
res_w1
## <Object of class: NMFfit>
##  # Model:
##   <Object of class:NMFstd>
##   features: 19 
##   basis/rank: 19 
##   samples: 43 
##  # Details:
##   algorithm:  brunet 
##   seed:  random 
##   RNG: 403L, 624L, ..., 1101502046L [c7430444357748f96c00f3d561508567]
##   distance metric:  'KL' 
##   residuals:  386 
##   Iterations: 2000 
##   Timing:
##      user  system elapsed 
##      0.58    0.01    0.67
summary(res_w1)
##             rank sparseness.basis  sparseness.coef  silhouette.coef 
##          1.9e+01          7.5e-01          4.9e-01          8.9e-02 
## silhouette.basis        residuals            niter              cpu 
##          1.3e-01          3.9e+02          2.0e+03               NA 
##          cpu.all             nrun 
##               NA          1.0e+00
featureScore(res_w1) 
##    2'FL_7d     3FL_7d    LNnT_7d    3'SL_7d   DFLac_7d    6'SL_7d 
##       0.34       0.31       0.51       0.40       0.37       0.59 
##     LNT_7d   LNFPI_7d  LNFPII_7d LNFPIII_7d    LSTb_7d    LSTc_7d 
##       0.32       0.29       0.31       0.28       0.37       0.31 
##   DFLNT_7d     LNH_7d   DSLNT_7d    FLNH_7d   DFLNH_7d  FDSLNH_7d 
##       0.39       0.57       0.30       0.52       0.52       0.53 
##   DSLNH_7d 
##       0.39
tb5_w2 = banco %>% dplyr::select(583:601)
tb5_w2=tb5_w2[complete.cases(tb5_w2),]
tb5_w2 = t(tb5_w2)
res_w2 = nmf(tb5_w2, 19, method="brunet")
res_w2
## <Object of class: NMFfit>
##  # Model:
##   <Object of class:NMFstd>
##   features: 19 
##   basis/rank: 19 
##   samples: 55 
##  # Details:
##   algorithm:  brunet 
##   seed:  random 
##   RNG: 403L, 554L, ..., 1254425563L [22f05377b2d76ed35ce2425bb0bf8704]
##   distance metric:  'KL' 
##   residuals:  500 
##   Iterations: 2000 
##   Timing:
##      user  system elapsed 
##      0.96    0.00    1.03
summary(res_w2)
##             rank sparseness.basis  sparseness.coef  silhouette.coef 
##          1.9e+01          7.8e-01          4.8e-01          1.2e-01 
## silhouette.basis        residuals            niter              cpu 
##          9.7e-02          5.0e+02          2.0e+03               NA 
##          cpu.all             nrun 
##               NA          1.0e+00
featureScore(res_w2) 
##    2'FL_1m     3FL_1m    LNnT_1m    3'SL_1m   DFLac_1m    6'SL_1m 
##       0.24       0.38       0.63       0.40       0.47       0.26 
##     LNT_1m   LNFPI_1m  LNFPII_1m LNFPIII_1m    LSTb_1m    LSTc_1m 
##       0.39       0.39       0.35       0.26       0.22       0.37 
##   DFLNT_1m     LNH_1m   DSLNT_1m    FLNH_1m   DFLNH_1m  FDSLNH_1m 
##       0.47       0.47       0.92       0.36       0.46       0.43 
##   DSLNH_1m 
##       0.25
tb5_w3 = banco %>% dplyr::select(928:946)
tb5_w3=tb5_w3[complete.cases(tb5_w3),]
tb5_w3 = t(tb5_w3)
res_w3 = nmf(tb5_w3, 19, method="brunet")
res_w3
## <Object of class: NMFfit>
##  # Model:
##   <Object of class:NMFstd>
##   features: 19 
##   basis/rank: 19 
##   samples: 21 
##  # Details:
##   algorithm:  brunet 
##   seed:  random 
##   RNG: 403L, 88L, ..., -1414204312L [965688250c7314f2ca6d715f30e54377]
##   distance metric:  'KL' 
##   residuals:  17 
##   Iterations: 1110 
##   Timing:
##      user  system elapsed 
##      0.28    0.00    0.33
summary(res_w3)
##             rank sparseness.basis  sparseness.coef  silhouette.coef 
##          1.9e+01          7.3e-01          5.3e-01          9.1e-02 
## silhouette.basis        residuals            niter              cpu 
##          2.0e-01          1.7e+01          1.1e+03               NA 
##          cpu.all             nrun 
##               NA          1.0e+00
featureScore(res_w3)
##    2'FL_3m     3FL_3m    LNnT_3m    3'SL_3m   DFLac_3m    6'SL_3m 
##       0.20       0.29       0.14       0.35       0.24       0.34 
##     LNT_3m   LNFPI_3m  LNFPII_3m LNFPIII_3m    LSTb_3m    LSTc_3m 
##       0.17       0.27       0.20       0.35       0.28       0.27 
##   DFLNT_3m     LNH_3m   DSLNT_3m    FLNH_3m   DFLNH_3m  FDSLNH_3m 
##       0.33       0.34       0.55       0.34       0.50       0.40 
##   DSLNH_3m 
##       0.24
F = data.frame(featureScore(res_w1), featureScore(res_w2), featureScore(res_w3))

dimnames(F) = list(
  c("2'FL","3FL","LNnT","3'SL","DFLac","6'SL","LNT","LNFP I","LNFP II","LNFP III","LSTb",
    "LSTc","DFLNT","LNH","DSLNT","FLNH","DFLNH","FDSLNH","DSLNH"),
  c("1-7 days postpartum (n=43)", "30-45 day postpartum (n=55)", 
    "3 months postpartum (n=21)"))

knitr::kable(F, format="html", 
             caption="Table 5. Postpartum period-specific NMF scores for each HMO.") %>% 
  kable_styling("striped", full_width = T) %>%
  footnote(general="NMF scores represent the probability of contribution to (and importance of) a speci???ed HMO variable to the basis component.
           HMO: human milk oligosaccharide. 2'FL: 2'-fucosyllactose. 3FL: 3-fucosyllactose. LNnT: lacto-N-neotetraose. 3'SL: 3'-sialyllactose. DFLac: difucosyllactose. 6'SL: 6'-sialyllactose. LNT: lacto-N-tetrose. LNFP: lacto-N-fucopentaose. LSTb: sialyl-lacto-N-tetraose b. LSTc: sialyl-lacto-N-tetraose c. DFLNT: difucosyllacto-N-tetrose. LNH: lacto-N-hexaose. DSLNT: disialyllacto-Ntetraose. FLNH: fucosyllacto-N-hexaose. DFLNH: difucosyllacto-N-hexaose. FDSLNH: fucodisialyllacto-N-hexaose. DSLNH: disialyllacto-N-hexaose.")
Table 5. Postpartum period-specific NMF scores for each HMO.
1-7 days postpartum (n=43) 30-45 day postpartum (n=55) 3 months postpartum (n=21)
2’FL 0.34 0.24 0.20
3FL 0.31 0.38 0.29
LNnT 0.51 0.63 0.14
3’SL 0.40 0.40 0.35
DFLac 0.37 0.47 0.24
6’SL 0.59 0.26 0.34
LNT 0.32 0.39 0.17
LNFP I 0.29 0.39 0.27
LNFP II 0.31 0.35 0.20
LNFP III 0.28 0.26 0.35
LSTb 0.37 0.22 0.28
LSTc 0.31 0.37 0.27
DFLNT 0.39 0.47 0.33
LNH 0.57 0.47 0.34
DSLNT 0.30 0.92 0.55
FLNH 0.52 0.36 0.34
DFLNH 0.52 0.46 0.50
FDSLNH 0.53 0.43 0.40
DSLNH 0.39 0.25 0.24
Note:
NMF scores represent the probability of contribution to (and importance of) a speci???ed HMO variable to the basis component.
HMO: human milk oligosaccharide. 2’FL: 2’-fucosyllactose. 3FL: 3-fucosyllactose. LNnT: lacto-N-neotetraose. 3’SL: 3’-sialyllactose. DFLac: difucosyllactose. 6’SL: 6’-sialyllactose. LNT: lacto-N-tetrose. LNFP: lacto-N-fucopentaose. LSTb: sialyl-lacto-N-tetraose b. LSTc: sialyl-lacto-N-tetraose c. DFLNT: difucosyllacto-N-tetrose. LNH: lacto-N-hexaose. DSLNT: disialyllacto-Ntetraose. FLNH: fucosyllacto-N-hexaose. DFLNH: difucosyllacto-N-hexaose. FDSLNH: fucodisialyllacto-N-hexaose. DSLNH: disialyllacto-N-hexaose.
# heatmap.2


################
#### OTHERS ####
################


library(nlme)
## 
## Attaching package: 'nlme'
## The following object is masked from 'package:NMF':
## 
##     coef<-
## The following object is masked from 'package:dplyr':
## 
##     collapse
headtail(tb2)
##      record_id variable value onda
## 1            1     2'FL    NA   w1
## 2            2     2'FL    NA   w1
## 3            3     2'FL    NA   w1
## 8878       146      SUM    NA   w3
## 8879       147      SUM    NA   w3
## 8880       148      SUM    NA   w3
data=tb2[complete.cases(tb2),] %>% filter(variable=="2'FL") # <- substituir por vars HMO
headtail(data) # mean(data$value)
##     record_id variable  value onda
## 1          11     2'FL    9.1   w1
## 2          14     2'FL 5489.5   w1
## 3          15     2'FL 7557.6   w1
## 117        98     2'FL 7371.7   w3
## 118       109     2'FL 1878.8   w3
## 119       115     2'FL 4595.9   w3
data$record_id = as.factor(data$record_id)

lme.raw = lme(value ~ onda, random = ~1 | record_id, data=data)
summary(lme.raw)
## Linear mixed-effects model fit by REML
##  Data: data 
##    AIC  BIC logLik
##   2138 2152  -1064
## 
## Random effects:
##  Formula: ~1 | record_id
##         (Intercept) Residual
## StdDev:        2192     1329
## 
## Fixed effects: value ~ onda 
##             Value Std.Error DF t-value p-value
## (Intercept)  4630       346 75    13.4   0.000
## ondaw2        220       328 41     0.7   0.506
## ondaw3        948       442 41     2.1   0.038
##  Correlation: 
##        (Intr) ondaw2
## ondaw2 -0.55        
## ondaw3 -0.40   0.46 
## 
## Standardized Within-Group Residuals:
##    Min     Q1    Med     Q3    Max 
## -2.026 -0.423 -0.023  0.371  2.649 
## 
## Number of Observations: 119
## Number of Groups: 76
anova(lme.raw)
##             numDF denDF F-value p-value
## (Intercept)     1    75     297  <.0001
## onda            2    41       2    0.11
plot.lme(lme.raw)

#############
#### FIM ####
#############


#require(graphics) # library(help = "graphics")
#dev.new()
#pairs(bd_w1[17:27]) # matrix of scatterplots
#pairs(bd_w1[28:36]) # matrix of scatterplots
#dev.off()

# banco %>% dplyr::select(HMOSecretor, HMOSecretor_1m, HMOSecretor_3m)

#rm(list=ls())
#q()