setwd("D:/charls/")
library(haven)
library(tidyverse)
library(lm.beta)
library(tableone)
library(charlsMAX)
library(httr)
base <- read.csv("base.csv")

table1 <- CreateTableOne(vars = colnames(base)[c(1:10,14)],
                         data = base,
                         strata = "blood",
                         factorVars = c("age","sex","marriage","house","smoke","drink","health","sleep","depression","BMI","activity")
)
print(table1,showAllLevels = T,prop="row",test = TRUE)

value_age <- base %>%
  group_by(blood) %>%
  summarise(
    mean_value = mean(age, na.rm = TRUE),
    sd_value = sd(age, na.rm = TRUE),
    n = length(base),
    confidence_level = 0.95,
    alpha = 1 - confidence_level,
    t_critical = qt(1 - alpha/2, df = n-1),
    
    # 计算置信区间
    se = sd_value / sqrt(n),
    lower = mean_value - t_critical * se,
    upper = mean_value + t_critical * se,
  )

print(value_age)