목록Programming/R (24)
Stats & AI tech blog - '일단 시도함'
지난 포스팅에서 3개 이상의 범주형 비교군 간 일치도를 확인하는 방법인 플레이스 카파에 대해 알아보았다.2024.11.22 - [Statistics & AI/Correlation] - [통계] Fleiss' kappa (플레이스의 카파) [통계] Fleiss' kappa (플레이스의 카파)Fleiss' kappa (플레이스의 카파) 이전 포스팅에서 카파 상관계수란 무엇인지와 Cohen's kappa에 대해 알아보았다.2024.01.11 - [Statistics & AI/Correlation] - [통계] Cohen's Kappa (코헨의 카파) [통계] Cohen's Kapmeowstudylog.tistory.com 이번 포스팅에서는 예제를 통해 R에서 플레이스 카파(Fleiss' kappa)를 계산..
지난 포스팅에서 R에서 IPTW와 생존분석을 진행하는 방법에 대해 알아보았다.2024.11.09 - [Programming/R] - [R] IPTW, Inverse Probability of Treatment Weighting (역확률가중치)2024.11.13 - [Programming/R] - [R] Survival Analysis (Kaplan-Meier, Log-rank, Cox PH) 이번 포스팅에서는 R에서 IPTW 가중치를 부여하여 Kaplan-Meier 생존 곡선을 그리는 방법에 대해 알아보겠다. {survival, survminer} 패키지의 survfit, ggsurvplot 함수를 조합하여 그리는 방법과{survey, jskm} 패키지의 svykm, svyjskm함수를 조합하여 그리는 ..
이전 포스팅에서 생존 분석의 개념, Kaplan-Meier 추정과 Log-rank test 그리고 Cox 비례위험모형까지 알아보았다. 이번 포스팅에서는 R에서 생존 분석을 수행하는 방법에 대해 알아보겠다. 분석 절차는 아래와 같다.1. Kaplan-Meier 생존 곡선 2. Log-rank Test3. Cox 비례 위험 모형 1. Kaplan-Meier 생존 곡선 먼저 'survival' 패키지의 survfit() 함수를 사용하여 카플란마이어 생존 곡선을 추정한다.survfit의 종속변수는 Surv(시간, 발생여부) 형식으로 넣어주고, 독립변수로는 group을 넣어 주어 각 그룹의 시간에 따른 발생 확률의 변화를 알아본다. surv_obj 'survminer' 패키지의 ggsurvplot() 함수를..
이전 포스팅에서 PSM 분석에 대한 개념을 알아보았다.2023.12.04 - [Statistics] - [통계] PSM: Propensity Score Matching (성향점수매칭) [통계] PSM: Propensity Score Matching (성향점수매칭)PSM: Propensity Score Matching (성향점수매칭) 1. 성향점수매칭(PSM) 이란? 무작위 대조군 연구(RCT)가 불가능한 관찰 연구에서 실험군과 대조군 그룹 간 비교를 위해 사용되는 통계적 기법이다.표meowstudylog.tistory.com 이번 포스팅에서는 R에서 PSM을 수행하는 절차에 대해 알아보자! 예시로 사용할 데이터의 원인 변수는 당뇨 여부(DM)이고 종속 변수는 골다공증 여부(Osteoporosis)이다..
이번 포스팅에서는 R에서 IPTW(역확률 가중치)를 수행하는 방법에 대해 알아보겠다.이론적인 설명은 아래 포스팅을 참고하자!2024.11.07 - [Statistics & AI/Propensity Score Analysis] - [통계] IPTW, Inverse Probability of Treatment Weighting (역확률가중치) [통계] IPTW, Inverse Probability of Treatment Weighting (역확률가중치)IPTW, Inverse Probability of Treatment Weighting (역확률가중치) 성향점수분석 기법 중 하나인 처치역확률가중치(IPTW, Inverse Probability of Treatement Weighting)는 가중치를 부여하여..
독립 변수를 바꿔가며 단변량 로지스틱 회귀 모형을 반복해서 만들어야할 때 사용하는 코드이다.개인 라이브러리의 함수로 저장해놓고 쓰기 편리하다. 모델에 사용할 종속 변수와 모든 독립 변수를 포함하는 데이터 프레임과 종속 변수명을 인자로 넣어주면 아래와 같은 결과를 출력한다.> uni_logistic_tb(df, 'Group') y label OR (CI 95%) p.value2 Group Age 1.025 (1.001-1.050) 0.0454 Group Gender1 1.156 (0.613-2.142) 0.6496 Group BSA 0.227 (0.053-0.939)..
이번 포스팅에서는 R for문 등에서 변수를 바꿔가며 동적으로 처리하는 방법에 대해 알아보고자 한다.아래 모든 방법을 다 알 필요는 없고, 몇 가지만 알아둬도 유용하게 사용할 수 있다. 1. !!, !!!`!!`와 `!!!`는 주로 `rlang` 패키지와 함께 사용되며, 비표준 평가(non-standard evaluation, NSE)에서 변수를 언바운딩하는 데 사용된다. `!!`는 단일 변수, `!!!`는 여러 변수를 언바운딩하는 데 사용된다. * 비표준 평가(non-standard evaluation, NSE) : 함수의 인자에 표현식을 할당할 당시에는 평가(계산, 실행)을 수행하지 않고, 함수 내부의 원하는 곳에서 실행하도록 하는 것.library(rlang)var % mutate(new_col ..
오늘은 R에서 내가 만든 함수를 모아 라이브러리(패키지)를 만들어 보려고 한다.자주 쓰는 함수를 모아 놓고 편하게 쓸 수 있을 것 같다. 라이브러리(패키지)를 만드는 순서는 아래와 같다. 1. 패키지 구조 생성2. 패키지 메타데이터 생성3. 함수 파일, 도움말 문서 작성4. 패키지 빌드 및 설치 1. 패키지 구조 생성먼저 패키지를 저장할 디렉토리와 그 안에 필요한 메타 데이터를 생성해야한다.'usethis' 패키지를 사용하면 구조를 자동으로 생성할 수 있다.install.packages("usethis")library(usethis)# 패키지 구조 생성create_package("path/to/your/package") 위 코드를 실행하면 지정된 경로에 폴더(나는 이름을 zim으로 생성)가 생성되고 안..
이번 포스팅에서는 R의 caret 패키지로 쉽게 모델을 학습 & 튜닝하는 방법에 대해 알아보겠다. 아래는 모델을 튜닝하기 위해 먼저 고려해야할 요소이다.어떤 모델을 다룰지 선택 ex) SVM모델을 튜닝하기 위해서 어떤 parameters를 사용할 것인지 선택 ex) C, kernel,,학습에 사용할 데이터를 어떻게 resampling 할지 선택 ex) 10-fold Cross Validation 예시로 SVM 분류 모델을 학습 & 튜닝하는 과정에 대해 알아보겠다. 1. Resampling 방법 지정 (trainControl)먼저 caret 패키지의 trainControl 함수를 통해 Resampling 방식을 지정한다.아래 코드는 K-fold Cross Validation을 여러번 반복해서 샘플링하는 ..
R에서 그래프로 탐색적 분석을 수행할 때, 주로 아래 순서대로 시각화를 진행한다. 1. 단변량 시각화: 변수의 분포 이해 (히스토그램, 박스플롯, KDE, 막대그래프) 2. 이변량 시각화 : 두 변수 간의 관계 파악 (산점도, 히트맵, 라인플롯) 3. 다변량 시각화 : 세 개 이상의 변수 간 관계 파악 (페어플롯, 병렬좌표, 히트맵) 아래는 자주 사용하는 몇 가지 그래프에 대한 예시 코드이다. 밀도추정그래프 (KDE)# 이탈여부에 따라 분포가 어떻게 다른지 확인df %>% ggplot(aes(x = tenure, fill = fct_rev(Churn), alpha = .5))+ geom_density() 평균 막대 그래프 - fct_rev()를 통해 레벨 거꾸로 표현 - stat = 'summa..