手把手教你!空气污染数据提取全攻略,附代码实操!

文摘   2024-10-29 08:08   美国  

关注豌豆医学科研,助力SCI



写在前面

    未来,多数据库联合研究以及医学与环境的交叉研究将成为新的学术热点和发文风口。

    已上传该文章复现视频至课程中!

《公共数据库高分文章解读--10min速读10分SCI》专栏持续更新公共数据库最新高分思路、高分文章,从”关键词/数据选取+研究设计/摘要+方法+结果+结论“三方面对文章展开解读
  • 关键词--了解科研热点;
  • 数据选取+研究设计--完善自己文章的分析思路;
  • 摘要+方法+结果+结论--阅读细节,学习整体思路,用作自己写作参考
关键词中国健康与养老追踪调查(CHARLS);空气污染物;代谢综合征

2022年12月,国内外多团队在Environmental research(中科院二区,IF: 7.7)上发表了题为:Systemic inflammation accelerates the adverse effects of air pollution on metabolic syndrome: Findings from the China health and Retirement Longitudinal Study (CHARLS) 研究论文,调查了长期暴露于空气污染全身炎症代谢综合征的单独与联合作用。

研究背景:长期暴露于空气污染全身炎症代谢综合征(MetS)患病率增加有关;然而,它们在中国中老年人中的联合作用尚不清楚。

方法:在这项横断面研究中,纳入了2015年中国健康与养老追踪调查(CHARLS)第3波的11,838名45岁及以上的居民。MetS的诊断采用联合临时学会的定义。评估C反应蛋白(CRP)以反映全身炎症。根据参与者在县级(country-level)的居住地,使用基于卫星的时空模型评估了个人对空气污染物(PM2.5或PM10、SO2、NO2、O3和CO)的暴露情况。应用广义线性模型(GLMs)检验空气污染与代谢综合征之间的关系,并利用GLM模型中CRP与空气污染物的相互作用项估计CRP在空气污染与代谢综合征之间的修饰效应。
以下为大家带来如何使用charlsMAX R包获取不同省份的空气污染物【PM2.5,PM10,NO,SO2,CO,O3等】数据
# 获取数据库分析常用的信息,包括污染物,地质,水文等信息(不断更新)preset_list <- show_preset_names()pollution <- preset_list %>% filter(, Year %in% c(2013, 2014, 2015))
#假设提取连续三年2013-2015的空气污染物信息   #并计算均值、标准差、四分位数、中位数及四分位数间距等library(dplyr)
pollutant_tables <- pollution %>% split(.$Content) %>% #split(.$Content):根据 pollution 数据框中的 Content 列(假设表示污染物的种类)进行分组,返回一个列表。每个列表元素包含某一特定污染物的数据。 #.$Content 是 pollution$Content 的简写,用于访问 Content 列。 #例如,如果 pollution$Content 包含两种污染物 PM2.5 和 NO2,则 split() 会将数据分成两个部分。 map(function(pollutant_data) { #pollutant_data 是每个污染物的数据块,是 pollution 数据框按 Content 列分组后的某个子集。 pollutant_name <- unique(pollutant_data$Content) #获取当前污染物数据中的唯一污染物名称,存储在变量 pollutant_name 中,类似于 "PM2.5" 或 "NO2" 这样的污染物名称。 pollutant_files <- pollutant_data$Name #获取当前污染物数据中的文件名,Name 列包含与污染物相关的文件名 combined_df <- pollutant_files %>% map(fetch_preset_files) %>% #对所有与当前污染物相关的文件名(pollutant_files)使用 map() 函数,逐个调用 fetch_preset_files() 函数。 #读取或获取这些文件中的数据,返回的是一个列表,列表中的每个元素是从文件中读取的数据框。 reduce(full_join, by = "name") %>% #逐步合并列表中的数据框。这里使用 full_join() 来合并这些数据框,by = "name" 表示按照 name 列进行合并。 #将所有与当前污染物相关的数据文件合并成一个大的数据框,按 name 列进行匹配。 rowwise() %>% #将数据框设置为按行操作模式,方便后续对每一行的多个列进行统计计算。 transmute(#transmute() 函数用于创建新的列,并丢弃原有列。 name = name, !!paste0(pollutant_name, "_Mean") := mean(c_across(starts_with("mean_concentration")), na.rm = TRUE),#均值 !!paste0(pollutant_name, "_SD") := sd(c_across(starts_with("mean_concentration")), na.rm = TRUE),#标准差 !!paste0(pollutant_name, "_P25") := quantile(c_across(starts_with("mean_concentration")), 0.25, na.rm = TRUE),#第25百分位数(P25) !!paste0(pollutant_name, "_P50") := median(c_across(starts_with("mean_concentration")), na.rm = TRUE),#中位数(P50) !!paste0(pollutant_name, "_P75") := quantile(c_across(starts_with("mean_concentration")), 0.75, na.rm = TRUE),#第75百分位数(P75) !!paste0(pollutant_name, "_IQR") := IQR(c_across(starts_with("mean_concentration")), na.rm = TRUE)#四分位距(IQR) ) %>% ungroup()#解除 rowwise() 的行操作模式,恢复默认的按列操作模式。 combined_df }) %>% reduce(full_join, by = "name") #使用 reduce() 将所有污染物的统计数据合并在一起,  #将各个污染物的统计结果(如 PM2.5、NO2 等)合并成一个大的数据框,按 name 列进行匹配。unique(pollutant_tables$name)

提取结果如下图,可结合charls数据库,调查空气污染物不同疾病患病率等的差异

结果代谢综合征患病率为32.37%。PM2.5(24.04 μ g/m3)、PM 10(39.00 μ g/m3)、SO2(19.05μ g/m3)、NO2(11.28 μ g/m3)、O3(9.51 μ g/m3)和CO(0.46 mg/m3)的每四分位数增加,MetS的校正OR(95%CI)分别为1.192(95%CI):1.116、1.272)、1.177(95%CI:1.103、1.255)、1.158(95%CI:1.072、1.252)、1.303(95%CI:1.211、1.403)、1.107(95%CI:1.046、1.171)和1.156(95%CI:1.083、1.234)。CRP也与MetS患病率增加相关(OR=1.049,95%CI:1.035,1.064;CRP每增加1.90 mg/L)。相互作用分析表明,高CRP增强了空气污染暴露与代谢综合征之间的联系。

结论:长期暴露于空气污染代谢综合征患病率增加有关,这可能会因全身炎症而增强。鉴于快速老龄化的社会和沉重的代谢综合征负担,应采取措施改善空气质量和减少全身炎症。

多数据库联合+环境联合

    本工作室特开发全网首发charlsMAX 包,专为方便CHARLS、CLHLS、CHNS、HRS、ELSA、SHARE、MHAS七大数据库清洗变量、数据分析打造;此外,R包中内置环境数据,可将多数据库与环境数据联合,缩短数据计算时间,高效分析,发文更快、更高水准。
功能介绍如下:
1R包直接调取变量数据-简简单单、干干净净。
2. 半小时学会生成基线表
3. 加更轨迹分析、筛选并构建最佳模型、可视化样样齐全!

4. 一键生成Kaplan-Meier曲线森林图-小白学习周期进一步缩短!

5. 配备了完备的数据检索网站,再也不用查手册啦:配备charlsMAX相关code、变量的查询网站,轻松知道所需变量的wave/year、description、Code、Source等信息。

  • codebook查询功能,目前支持CHARLS, CHNS, CLHLS, ELSA, MHAS, SHARE数据库。

  • 数据预览功能根据code预览对应原始数据(速度极快),便于大家理解数据的构成与内容,支持目前的7个数据库。

6. 每周一加更多国数据库联合文章复现!

R包功能介绍如下!


深夜答疑,24h并肩作战

charlsMAX R包如何购买?

  • 购买多国健康数据库精析与挖掘课程即送charlsMAX  R包,并配有常规学习代码、文章实操复现等视频学习内容(永久观看)

  • 另有服务:社群答疑(永久)、1v1选题 审稿 投稿推荐 返修指导服务(2年)

  • 价格:3999,学生3799(包含税,可开发票)


福利来咯!

    转发此条至朋友圈+配文字“医豌豆,科研精,公共数据库助你行”(维持3小时以上),即可免费获取“配有charlsMAX相关code、变量查询的网站”,并可加入公共数据库交流社群一起学习。


课程咨询微信

豌豆老师

小宇老师




课程购买链接


-END-

行稳致远 进而有为


期待你的

分享

点赞

在看

医豌豆
专业教学开发孟德尔随机化、Phewas、公共数据库等让医学科研变得更简单
 最新文章