dplyr, ggplot2를 활용한 자료 분석
shanmdphd opened this issue · 7 comments
@Jayoon-Kim @Schu1121 @drshin93 @maronbam @mintnia @yoonsoo940412 선생님들께
어제 보여드렸던 dplyr을 활용해서 간단하게나마 자료 분석을 하고 ggplot2로 그림을 그리고 이를 Rmarkdown 파일로 제출해 주세요. 어떤 종류의 분석이든 상관 없고 여러분끼리 상의해서 해도 좋습니다. 😃 결과를 아래 댓글로 달아주세요.
감사합니다.
한성필 드림
- 기한: 2019-01-16 출근 전
- 자료:
moonBook::acs
acs.xlsx 첨부파일 참고하세요.readxl::read_excel('acs.xlsx')
- 참고자료
- smoking과 ACS 발병 연령의 상관관계가 보고된 논문이 있는지 찾아보시고 2개정도만 알려주세요.
- 각 그림과 표 밑에 Table 1. ~~ 혹은 Figure 1. ~~ 등으로 영어로 설명을 달아주세요.
Smoking 여부에 따른 ACS 발병 연령의 차이
서론
(current) Smoker는 과거에 100개피 이상의 흡연력이 있고, 최근 28일 이내에 흡연한 적이 있는 사람으로 정의한다. 그리고 Ex-smoker는 과거에 100개피 이상의 흡연력이 있고, 최근 28이내에 흡연한 적이 없는 사람을 칭한다. Non-smoker는 과거에 100개피 이하의 흡연력이 있으며 최근의 흡연력이 없는 사람이다.
이 분석에서는 857명의 acute coronary syndrome 환자에서 현재 혹은 과거의 smoking status가 ACS의 발병 연령에 어떤 영향을 미치는지를 보고자 한다.
방법
moonBook::acs
자료를 사용하였다.
결과
Non-smoker, Ex-smoker, Smoker 중 smoker의 ACS 발병 연령이 낮은 것으로 나타났다.
library(tidyverse)
library(readxl)
raw_acs <- read_excel('acs.xlsx') %>%
mutate(age = as.numeric(age))
raw_acs %>%
group_by(smoking) %>%
summarise(median_age = median(age, na.rm = TRUE),
sd_age = sd(age, na.rm = TRUE))
Table 1. Onset age of patients with acute coronary syndromes according to smoking status
qplot(x = smoking, y = age, data = raw_acs, geom = 'boxplot')
Figure 1. Onset age of patients with acute coronary syndromes according to smoking status
ACS을 구성하는 Unstable angina, NSTEMI, STEMI 중에서는 NSTEMI와 STEMI의 발병 연령이 smoker에서 유의하게 낮게 나타났다.
raw_acs %>%
mutate(age = as.numeric(BMI)) %>%
group_by(Dx, smoking) %>%
summarise(median_age = median(age, na.rm = TRUE),
sd_age = sd(age, na.rm = TRUE))
Table 2. Onset age of patients with unstable angina, NSTEMI, STEMI according to smoking status
qplot(x = smoking, y = age, data = raw_acs, geom = 'boxplot', facets = . ~ Dx)
Figure 2. Onset age of patients with unstable angina, NSTEMI, STEMI according to smoking status
결론
흡연력은 ACS의 발병 연령, 특히 NSTEMI,STEMI의 발병 연령에 영향을 미친다.
Reference
-
Dominique Himbert, Martin Klutman, Gabriel Steg, et al.
Cigarette smoking and acute coronary syndromes: A multinational observational study
Int J Cardiol. 2005 Apr 8;100(1):109-17. -
Hidenori Yagi, Kimiaki Komukai, Koichi Hashimoto, et al.
Difference in risk factors between acute coronary syndrome and stable angina pectoris in the Japanese: Smoking as a crucial risk factor of acute coronary syndrome
Int J Cardiol. 2010 May ;55(3):345-353.
신영하 선생님, 잘 하셨어요!! 😄 rpubs.com에 올린 것도 잘 보았습니다❗️ moonBook 패키지에서 자료를 직접 가져오는 방법도 아주 좋은 시도였습니다.
Rmd | pdf
- 그림 뿐만 아니라 각각을 수치화해서 표로 볼수 있게 정리해 주시면 더 좋을 것 같습니다 🍺
- 각 그림과 표 밑에 Table 1. ~~ 혹은 Figure 1. ~~ 등으로 영어로 설명을 달아주세요.
흡연 과거력과 ACS 종류와의 상관관계
서론
이 분석에서는 857명의 acute coronary syndrome 환자에서 흡연 과거력과 ACS type 간에 상관관계가 있는지 알아보려고 합니다.
방법
moonBook::acs와 R을 사용하여 분석하였다.
결과
유의한 차이가 있었다.
library(tidyverse)
library(ggplot2)
library(readxl)
library(dplyr)
library(moonBook)
raw_acs <- moonBook::acs
summ_acs <- count(raw_acs, Dx, smoking)
knitr::kable(head(summ_acs, 6), caption = 'Table. 1')
ggplot(data = raw_acs) + geom_bar(mapping = aes(x = Dx)) + facet_wrap(~ smoking)
결론
유의한 차이가 있는 것처럼 보이지만 더 자세한 분석이 필요하다.
김자윤 선생님, 잘 하셨어요!
ggplot
사용 시도해 본것도 좋네요. 😸
DM과 ACS 발병연령 상관관계 여부
서론
DM과 ACS 발병연령에 상관관계가 있는지 확인해보았다.
방법
R을 이용
library(tidyverse)
library(readxl)
raw_acs <- read_excel('acs.xlsx') %>%
mutate(age = as.numeric(age))
raw_acs %>%
group_by(DM) %>%
summarise(median_age = median(age, na.rm = TRUE), sd_age = sd(age, na.rm = TRUE))
qplot(x=DM, y=age, data = raw_acs, geom = 'boxplot')
library(ggplot2)
library(readxl)
library(dplyr)
library(moonBook)
raw_acs <- moonBook::acs
ggplot(data = raw_acs) + geom_bar(mapping = aes(x = Dx)) + facet_wrap(~ DM)
결론
성윤수 선생님, 잘 하셨어요. 😺 직접 acs자료 가져오고 ggplot도 시도해 본거 좋았어요.
성별과 ACS 발병의 차이
서론
이 분석에서는 857명의 acute coronary syndrome 환자에서 성별과 ACS 발병수 간에 다름이 있는지 알아본다.
방법
moonBook::acs와 R을 사용하여 분석하였다.
결과
남자의 ACS 발병 수가 더 많았다. NSTEMI, STEMI, UA 모두 여자보다 남자에서 많았으며 특히 STEMI와 UA의 차이가 NSTEMI의 차이보다 더 많이 났다.
library(moonBook)
library(ggplot2)
library(readxl)
library(dplyr)
raw_acs <- moonBook::acs
ggplot(data = raw_acs) + geom_bar(mapping = aes(x = Dx)) + facet_wrap(~ sex)
결론
moonBook::acs 자료로 보았을 때, 여자보다 남자에서 ACS 의 발병수가 더 많았다.
ACS 환자의 LDLC 농도와 Cardiogenic Shock 발생률 간의 상관관계
서론
이 분석에서는 857명의 ACS 환자에서 LDLC 수치가 Cardiogenic Shock의 발생에 영향을 주는지 알아보고자 한다.
방법
moonBook::acs
자료를 사용하였다.
결과
분석 집단내에서 Cardiogenic Shock의 발생률은 LDLC 농도에 따라 달라지지 않았다.
library(tidyverse)
library(readxl)
raw_acs <- read_excel('acs.xlsx') %>%
mutate(LDLC = as.numeric(LDLC))
raw_acs %>%
group_by(cardiogenicShock) %>%
summarise(median_LDLC = median(LDLC, na.rm = TRUE),
sd_LDLC = sd(LDLC, na.rm = TRUE))
qplot(x = LDLC, y = cardiogenicShock, data = raw_acs, geom = 'boxplot') +
geom_point()
성별과 진단을 고려하면
NSTEMI보다 STEMI에서 cardiogenic shock이 빈발했으나 LDLC와의 상관관계는 없는 것으로 보인다.
Cardiogenic Shock은 MI의 합병증으로 발생하므로 Unstable Angina 환자에서는 나타나지 않았다.
raw_acs %>%
mutate(LDLC = as.numeric(LDLC)) %>%
group_by(sex, Dx) %>%
summarise(median_LDLC = median(LDLC, na.rm = TRUE),
sd_LDLC = sd(LDLC, na.rm = TRUE))
qplot(x = LDLC, y = cardiogenicShock, data = raw_acs, geom = 'boxplot', facets = sex ~ Dx) +
geom_point()
결론
LDLC 농도는 ACS 환자의 Cardiogenic Shock 발생에 영향을 주지 않는 것으로 보인다.
Acute Coronary Syndrome 환자에서 혈중 Triglyceride 농도와 당뇨병과의 상관관계
서론
이 분석에서는 857명의 acute coronary syndrome(ACS) 환자에서 혈중 Triglyceride(TG) 농도와 당뇨병 여부의 상관관계를 알아보고자 한다.
방법
moonBook::acs
자료를 사용하였다.
결과
유의미한 차이를 찾을 수 없었다.
library(tidyverse)
library(readxl)
library(moonBook)
setwd("C:/Users/Sohee/Documents/R/Directories")
raw_acs <- read_excel("acs.xlsx") %>%
mutate(TG = as.numeric(TG))
raw_acs %>%
group_by(DM) %>%
summarise(median_TG = median(TG, na.rm = TRUE),
sd_TG = sd(TG, na.rm = TRUE))
qplot(x = DM, y = TG, data = raw_acs, geom = 'boxplot')
raw_acs %>%
mutate(TG = as.numeric(TG)) %>%
group_by(Dx, sex, DM) %>%
summarise(median_TG = median(TG, na.rm = TRUE),
sd_TG = sd(TG, na.rm = TRUE))
qplot(x = DM, y = TG, data = raw_acs, geom = 'boxplot', facets = sex ~ Dx)```
```{r}
qplot(x = DM, y = TG, data = raw_acs, geom = 'boxplot')
성별과 진단을 고려해도 유의미한 차이는 없었다.
raw_acs %>%
mutate(TG = as.numeric(TG)) %>%
group_by(Dx, sex, DM) %>%
summarise(median_TG = median(TG, na.rm = TRUE),
sd_TG = sd(TG, na.rm = TRUE))
qplot(x = DM, y = TG, data = raw_acs, geom = 'boxplot', facets = sex ~ Dx)
결론
ACS환자에서 TG를 비롯한 진단, 성별 등은 당뇨병 유무와 유의미한 상관관계를 가지지 않았다.
모두 수고하셨어요