分享

医学论文研究野路子(87)NHANES 二甲苯(BTEX)及其混合物 心血管疾病(CVD) logistic回归 暴露-反应关系

 葛医生_EP日记 2024-04-25 发布于广西
文章题目:在美国全国人口中,暴露于BTEX与心血管疾病、血脂异常和白细胞增多有关
研究目的:关于血液样本中单个苯、甲苯、乙苯和二甲苯(BTEX)及其混合物对普通人群心血管疾病(CVD)和相关危险因素影响的综合研究有限。本研究旨在探讨血液中单独和混合BTEX对总CVD及其亚型、脂质谱和白细胞计数的影响。
数据来源:1999-2018年NHANES中17007名参与者。
方法采用调查加权多因素logistic回归分析了1999-2018年NHANES中17007名参与者的血液个体和混合BTEX与CVD及其亚型之间的关系。采用加权分位数和模型和分位数g计算估计BTEX混合物对CVD的综合影响。加权多元线性回归评估BTEX对脂质谱和白细胞的影响,包括其五部分差异计数。
结果:与BTEX混合物的参考四分位数相比,最高四分位数的个体心血管疾病风险的调整优势比显著增加(1.64,95% CI: 1.23 ~ 2.19, P为趋势= 0.008)。苯、甲苯、乙苯和间/对二甲苯呈正相关,呈现单调递增的暴露-反应关系。混合BTEX与充血性心力衰竭(CHF)、心绞痛和心脏病发作有关。个别苯、甲苯和乙苯与CHF有关,而甲苯、乙苯和所有二甲苯异构体与心绞痛有关。苯、甲苯和邻二甲苯与心脏病发作有关。混合BTEX和单独BTEX均与甘油三酯、胆固醇、低密度脂蛋白和白细胞(包括其五分差计数)呈正相关,但与高密度脂蛋白呈负相关。亚组分析确定了吸烟、饮酒、运动、身体质量指数、高血压和糖尿病对特定毒物与心血管疾病风险之间关系的调节作用。
结论:暴露于BTEX与心血管疾病和心血管危险因素相关。这些发现强调了在评估心血管健康风险时考虑血液BTEX水平的重要性。

诺维之舟AI

公众号回复'gweb',获取诺维之舟AI地址

图片在此研究中,数据分析的主要步骤包括:

  1. 1.数据来源:本研究的数据来自1999-2018年的NHANES,包含17007名参与者的信息。

  2. 2.数据预处理:可能会包括控制缺失值、异常值以及数据的标准化。

  3. 3.数据分析方法:使用多因素logistic回归来分析BTEX与CVD及其亚型之间的关系,并采用加权分位数模型和分位数g计算估计BTEX混合物对CVD的综合影响。此外,还使用加权多元线性回归评估BTEX对脂质谱和白细胞的影响。

以下是相关的Python代码实现:

import pandas as pd
from sklearn.linear_model import LogisticRegression
from statsmodels.regression.quantile_regression import QuantReg

# 加载数据
data = pd.read_csv('your_data.csv')

# 数据预处理
data = data.dropna() #删除缺失值

# 多因素logistic回归
logistic_model = LogisticRegression()
X = data[['BTEX_individual', 'BTEX_mixture']]
y = data['CVD']
logistic_model.fit(X, y)

# 加权分位数模型
weights = data['weights']
qr = QuantReg(y, X)
result = qr.fit(q=0.5, weights=weights)

# 多元线性回归
from sklearn.linear_model import LinearRegression
linear_model = LinearRegression()
X = data[['BTEX']]
y = data[['lipid_spectrum', 'leukocytes']]
linear_model.fit(X, y)

以上代码的运行需要在一个Python环境下进行,并需要你具备相关依赖库如pandas,sklearn和statsmodels。具体的实现可能会根据数据的实际情况有所不同,例如在数据预处理阶段,你可能需要对数据进行更详细的清洗和标准化。

图片上述内容用R实现,关键指标保存并可视化。

图片在你的提问中,你希望将上述Python代码转化为R代码,并进行关键指标的保存和可视化。以下是具体的R代码实现:

# 导入相关包

library(tidyverse)

library(glm2)

# 加载数据
data <- read.csv('your_data.csv')

# 数据预处理
data <- data %>% drop_na()

# 多因素logistic回归
model1 <- glm(CVD ~ BTEX_individual BTEX_mixture, data = data, family = binomial())
summary(model1)

# 加权分位数模型
library(quantreg)
rq <- rq(CVD ~ BTEX_individual BTEX_mixture, weights = weights, tau = 0.5, data = data)
summary(rq)

# 多元线性回归
model2 <- lm(cbind(lipid_spectrum, leukocytes) ~ BTEX, data = data)
summary(model2)

# 保存模型结果
write.csv(summary(model1)$coefficients, 'logistic_model.csv')
write.csv(summary(rq)$coefficients, 'quantile_model.csv')
write.csv(summary(model2)$coefficients, 'linear_model.csv')

# 创建可视化
par(mfrow=c(2,2))
plot(model1)
title('Logistic Model')
plot(rq)
title('Quantile Regression Model')
plot(model2)
title('Linear Model')

# 保存图像
dev.copy(png,'Logistic_Model.png')
dev.off()

dev.copy(png,'Quantile_Regression_Model.png')
dev.off()

dev.copy(png,'Linear_Model.png')
dev.off()
例如,这段代码首先需要在R环境中运行。一些核心步骤包括加载数据,进行数据预处理,执行logistic回归,分位数回归以及多元线性回归,然后保存模型结果,最后创建并保存图像。
当然,这只是一个概念性的示例,你可能需要根据你的具体数据对其进行调整。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多