의학연구 위한 오픈소스 R 통계패키지

차라투(주)

김진섭

2024-12-06

자기소개

회사: 차라투 주식회사(Zarathu Co.,Ltd)

  • R 활용 의학연구지원
  • R 패키지 개발 및 교육

경력

  • 의학사, 성균관대학교 (~2009)
  • 예방의학전문의/박사수료,서울대보건대학원 (~2013)
  • 책임, 삼성전자 DMC연구소/무선사업부 (~2016)
  • 대표, 차라투 (2018~)

jinseob2kim@gmail.com, github.com/jinseob2kim

R package for medical research

CRAN(총 17만회 다운로드)

  • jskm: 생존분석 그림
  • jstable: 분석결과를 보고서/논문용 테이블로
  • jsmodule: Shiny module & 로컬에서 실행하는 분석웹

일본 블로그 리뷰

Landmark, Competing risk analysis support

## Gaussian
glm_gaussian <- glm(mpg~cyl + disp, data = mtcars)
glmshow.display(glm_gaussian, decimal = 2)
$first.line
[1] "Linear regression predicting mpg\n"

$table
     crude coeff.(95%CI)   crude P value adj. coeff.(95%CI)    adj. P value
cyl  "-2.88 (-3.51,-2.24)" "< 0.001"     "-1.59 (-2.98,-0.19)" "0.034"
disp "-0.04 (-0.05,-0.03)" "< 0.001"     "-0.02 (-0.04,0)"     "0.054"

$last.lines
[1] "No. of observations = 32\nR-squared = 0.7596\nAIC value = 167.1456\n\n"
## Binomial
glm_binomial <- glm(vs~cyl + disp, data = mtcars, family = binomial)
glmshow.display(glm_binomial, decimal = 2)
$first.line
[1] "Logistic regression predicting vs\n"
 
$table
     crude OR.(95%CI)   crude P value adj. OR.(95%CI)    adj. P value
cyl  "0.2 (0.08,0.56)"  "0.002"       "0.15 (0.02,1.02)" "0.053"     
disp "0.98 (0.97,0.99)" "0.002"       "1 (0.98,1.03)"    "0.715"     

$last.lines
[1] "No. of observations = 32\nAIC value = 23.8304\n\n"

Subgroup analysis

TableSubgroupMultiGLM(status ~ sex, var_subgroups = c("kk", "kk1"), data = lung, family = "binomial")
    Variable Count Percent           OR Lower Upper P value P for interaction
sex2  Overall   228     100         3.01  1.65  5.47  <0.001              <NA>
1          kk  <NA>    <NA>         <NA>  <NA>  <NA>    <NA>             0.476
2           0    38    16.9            7   0.7 70.03   0.098              <NA>
3           1   187    83.1         2.94  1.55  5.57   0.001              <NA>
4         kk1  <NA>    <NA>         <NA>  <NA>  <NA>    <NA>             0.984
5           0     8     3.6 314366015.19     0   Inf   0.997              <NA>
6           1   217    96.4         2.85  1.55  5.25   0.001              <NA>
TableSubgroupMultiCox(Surv(time, status) ~ sex, var_subgroups = c("kk", "kk1"), data = lung)
    Variable Count Percent Point Estimate Lower Upper sex=1 sex=2 P value P for interaction
sex  Overall   228     100           1.91  1.14   3.2   100   100   0.014              <NA>
1       <NA>  <NA>    <NA>           <NA>  <NA>  <NA>  <NA>  <NA>    <NA>              <NA>
2         kk  <NA>    <NA>           <NA>  <NA>  <NA>  <NA>  <NA>    <NA>             0.525
3          0    38    16.9           2.88  0.31 26.49    10   100    0.35              <NA>
4          1   187    83.1           1.84  1.08  3.14   100   100   0.026              <NA>
5       <NA>  <NA>    <NA>           <NA>  <NA>  <NA>  <NA>  <NA>    <NA>              <NA>
6        kk1  <NA>    <NA>           <NA>  <NA>  <NA>  <NA>  <NA>    <NA>             0.997
7          0     8     3.6           <NA>  <NA>  <NA>     0   100    <NA>              <NA>
8          1   217    96.4           1.88  1.12  3.17   100   100   0.018              <NA>

중국 영상/블로그 리뷰

1-2줄의 코드만으로 분석웹을 만들 수 있도록 각 분석기능을 모듈화

논문지원 실적

SCI 논문 200편이상 지원

  • 의학분야 탑저널 NEJM, LANCET, JAMA 포함
  • 6개 대학병원과 연단위 연구지원 계약, 10개 바이오회사의 임상시험분석 지원

무료 통계웹

  • 흔한 분석기능들을 무료로 분석할 수 있는 openstat.ai 런칭
  • jskm/jstable/jsmodule 분석모듈 적용

openstat.ai: free

맞춤형 분석웹은 유료제작

국가 R&D 선정

IITP, NIPA 공개SW R&D와 창업성장기술개발 디딤돌 통해 기술개발 및 의학연구용 고도화 수행

`22 IITP “공개SW 기반의 클라우드 통계 패키지SW 개발” (2년 10.5억)

  • 통계 비전공자 및 일반인용

`23 NIPA 공개SW 기술확산 지원사업 (7개월 2억)

  • 의학연구용

`23 창업성장기술개발 디딤돌 (1.2억)

  • 의학연구용 & 임상시험

저작권 등록

오픈소스 관리

https://statgarten-issue.streamlit.app/

깃헙액션

  • 테스트, 홈페이지 업데이트, 라이선스동의, 코드 styler

라이선스검증

R package: Shiny -> exe

R없이 exe 파일로 로컬실행 - executablePackeR

R커뮤니티: Shinykorea

  • 정기적 밋업

  • 코로나 대시보드 공동개발

오픈소스기여: 인턴십

  • 정기적 선발

  • 인턴의 오픈소스 패키지개발 참여

교육

성균관대학교 바이오헬스규제과학과 겸임교수 강의

  • https://github.com/jinseob2kim/r-skku-biohrs

  • R활용 의료데이터분석, 강의록과 강의영상 모두 공개

With TokyoR

  • 일본 R 커뮤니티 TokyoR 밋업 발표, 연말 컨퍼런스 발표자 신청

Executive summary

  • 의학연구용 R 패키지 개발, 중국/일본에서 인기

  • 국가 R&D 선정

  • 최신 오픈소스 관리기술

  • 라이선스 검증

  • 오픈소스 활성화: 커뮤니티, 인턴십, 교육

  • 일본 R 커뮤니티 참여

감사합니다