본문 바로가기

데이터 사이언스 이야기/R & SAS Programming4

[R Programming] 데이터 내 여러 변수 중 이름이 비슷한 변수 선택하기 임상시험의 Raw데이터들은 데이터셋에 정의된 변수 이름도 각양각색이고, 비슷한 이름의 변수들이 뒤에 숫자만 붙어서 나타나는 경우가 많다. 한 변수내에서 특정조건을 만족하는 Observation을 찾는데에는 %>% Filter() 함수를 쓸 수 있다고 하지만, 많은 변수들이 정의된 데이터셋에서 이름이 비슷한 여러개의 변수만 골라내서 선택을 하고 싶을땐 어떻게 해야할까? 예제) CM Dataset library(ggplot2) library(dplyr) #Let's say we have CM Raw dataset names(cm) grep()을 이용한 솔루션 CM이라는 데이터셋에는 이렇게 많은 변수들이 정의되어있는데, 이 많은 변수중에서 나는 WHO에 관련된 변수들만을 고르고 싶다. 그럴때는 R base에 .. 2022. 2. 20.
[SAS Programming] LOCF - Last Observation Carried Forward LOCF - Last Observation Carried Forward 임상시험에서 Missing 데이터를 처리하기 임상시험은 짧게는 수 개월에서 몇년간 지속이 되기 때문에, 환자들의 상황에 따라서 정해진 방문 기간에 방문하지 않는 경우도 흔히 발생을 한다. 이렇게 되면, 그때 그때 체크해야될 Vital Sign이나 혈액 샘플등의 Lab 데이터가 기록되지 않는 경우가 생기는데, 이런 경우에 데이터를 Missing으로 그냥 둘 수도 있지만, LOCF- Last Observation Carried Forward 알고리즘을 이용해서 가장 최근의 데이터의 값을 사용하는 방법을 고려해볼 수 있다. 아래의 예시 Lab 데이터와 코드를 가지고 조금 더 자세하게 살펴보자. 예시) 간단한 ADLB의 예제 데이터셋 da.. 2021. 4. 16.
[SAS Programming] 날짜 변수 속성(Type) 바꾸기 (Input, put, format) [SAS Programming] 날짜 변수 속성(Type) 바꾸기 (Input, format) 임상시험 데이터들을 접하다가 보면 날짜와 관련 변수들을 다루어야 할 때가 많은데, 이 날짜 관련 데이터들은 SAS Date 변수이나 Character Type 으로 정의된 변수로 저장될때가 있다. 데이터마다 저장되는 방식이 일괄되지 않아서 변수의 정의 방식을 바꾸어야 할 필요가 생긴다. 1) 다른 데이터 셋에서 Merge를 할때 두 변수의 속성들이 일치하지 않는 경우 2) 리포트를 할때 Character인 날짜 변수를 사용하여도 상관이 없겠지만, 어떤 질병의 지속기간을 구하기 위해서 두 날짜들을 빼는 연산을 해야 될 경우에는 (e.g., Duration=End Date - Start Date +1) SAS Da.. 2020. 9. 10.
[R Programming] R로 하는 데이터 전처리 & 시각화 예제 R로 하는 데이터 전처리/시각화: tidyverse, ggplot2 패키지를 통한 효율적 접근 Sooyeong Lim 2019년 3월 31일 데이터분석에서 가장 시간과 에너지가 많이 뺏기는 것이 생각외로 이 데이터 전처리 과정이다. 데이터사이언티스트 들은 대략 70~80%의 시간을 데이터를 가공하는데 쓰고, 나머지 시간에는 모델링을 하거나 자료 정리를 하는데 할애한다. 데이터 전처리 과정을 얼마나 효율적으로 하느냐에 따라서 다른 디테일에 할애 할 수 있는 시간이 좌우되기 때문에 전처리에 사용되는 Package와 스텝을 체화시켜야 한다. R에는 다행히 tidyverse라는 우수한 Data handling package가 있기 때문에 이 과정이 다른 언어에 비해서 편리하다. 이번 글에서는 인터넷에서 긁어온 .. 2019. 4. 1.