조건에 맞는 자료 추출하기
조건에 맞는 자료만 따로 뽑아서 보고 싶을 때, 봐야 할 때가 존재한다. 가령 전체 데이터 중에서 고혈압 환자와, 정상인 환자를 따로따로 보고 싶을 때가 있듯이 말이다. 이때 할 수 있는 방법을 설명하고자 한다.
총 네 가지 방법을 소개할 것이다.
(1) R 내장 함수를 사용하는 방법: 3가지
(2) dplyr을 사용하는 방법: 1가지
*실습용 데이터는 아래 링크를 클릭하면 다운로드할 수 있습니다.
2022.08.04 - [공지사항 및 소개] - 분석용 데이터 (update 22.10.11)
코드를 보여드리기에 앞서 워킹 디렉토리부터 지정하겠다.
워킹 디렉토리에 관한 설명은 다음 링크된 포스트에서 볼 수 있다.
2022.08.05 - [통계 프로그램 사용 방법/R] - [R] 작업 디렉토리 (Working Directory) 지정 - getwd(), setwd()
setwd("C:/Users/user/Documents/Tistory_blog")
데이터를 불러와 df에 객체로 저장하겠다.
데이터 불러오는 방법은 다음 링크에서 볼 수 있다.
2022.08.05 - [통계 프로그램 사용 방법/R] - [R] 데이터 불러오기 : EXCEL - read_excel(), read.xlsx()
2022.08.10 - [통계 프로그램 사용 방법/R] - [R] 데이터 저장하기 : CSV 파일 - write.csv(), write_csv()
2022.08.10 - [통계 프로그램 사용 방법/R] - [R] 데이터 불러오기 : SAS file (.sas7bdat) - read.sas7bdat(), read_sas()
install.packages("readr")
library("readr")
df<-read_csv("Data.csv")
목표: 고혈압이 있는 사람과 정상인 사람으로 데이터를 나눠보자
방법 (1) R 내장 함수를 사용하는 방법
1. Indexing을 이용하는 방법
df_whtn<-df[df$HTN==1,]
df_wohtn<-df[df$HTN==0,]
df_whtn<-df[df$HTN==1,] df에서 HTN이 1인 행만 추출하여 df_whtn에 저장한다. (행이라서 쉼표 앞에 조건이 붙는다.)
df_wohtn<-df[df$HTN==0,] df에서 HTN이 0인 행만 추출하여 df_wohtn에 저장한다. (행이라서 쉼표 앞에 조건이 붙는다.)
2. which함수를 이용하는 방법
df_whtn1<-df[which(df$HTN==1),]
df_wohtn1<-df[which(df$HTN==0),]
df_whtn2<-df[which(df$HTN==1),] df에서 HTN이 1인 행만 추출하여 df_whtn1에 저장한다. (행이라서 쉼표 앞에 조건이 붙는다.)
df_wohtn2<-df[which(df$HTN==0),] df에서 HTN이 0인 행만 추출하여 df_wohtn1에 저장한다. (행이라서 쉼표 앞에 조건이 붙는다.)
3. subset함수를 이용하는 방법
df_whtn2<-subset(df,HTN==1)
df_wohtn2<-subset(df,HTN==0)
df_whtn2<-subset(df,HTN==1) df에서 HTN이 1인 행만 추출하여 df_whtn2에 저장한다.
df_wohtn2<-subset(df,HTN==0) df에서 HTN이 0인 행만 추출하여 df_wohtn2에 저장한다.
방법 (2) dplyr를 사용하는 방법
이를 위해서는 dplyr패키지의 설치가 필요하다. 설치에 관한 내용은 다음 글을 확인하길 바란다. 2022.08.05 - [통계 프로그램 사용 방법/R] - [R] 패키지 설치하기 - install.packages(), library()
install.packages("dplyr")
library("dplyr")
#조건에 따라 나누기
df_whtn3<-df %>% filter(HTN==1)
df_wohtn3<-df %>% filter(HTN==0)
df_whtn3<-df %>% filter(HTN==1) df에서 HTN이 1인 행만 추출하여 df_whtn3에 저장한다.
df_wohtn3<-df %>% filter(HTN==0) df에서 HTN이 0인 행만 추출하여 df_wohtn3에 저장한다.
"%>%"은 dplyr에서 chain operation이라고 불리는 연산자인데, Ctrl(Cmd for mac) + Shift + M이라는 단축키로 입력할 수 있고, 처음에는 어색해 보일 수 있지만 쓰다 보면 이렇게 편한 연산자가 없다. 이는 생각의 흐름대로 분석을 할 수 있게 해 준다.
이 경우, "데이터 df을 가져와서 HTN이 1인 데이터만 고르는 필터링을 하라."로 이해할 수 있다.
[R] 조건에 맞는 자료 추출하기 정복 완료!
작성일: 2022.11.10.
최종 수정일: 2022.11.10.
이용 프로그램: R 4.1.3
RStudio v1.4.1717
RStudio 2021.09.1+372 "Ghost Orchid" Release
운영체제: Windows 10, Mac OS 10.15.7
'통계 프로그램 사용 방법 > R' 카테고리의 다른 글
[R] 결측치 확인 및 개수 확인 - is.na() (0) | 2022.11.25 |
---|---|
[R] 변수의 유형 (타입, type) 확인 및 변경 - as.factor(), as.numeric(), as.character(), str() (0) | 2022.11.21 |
[R] 피셔 정확 검정에서 workspace 부족 에러 해결 방법 (1) | 2022.11.10 |
[R] 데이터 저장하기 : CSV 파일 - write.csv(), write_csv() (0) | 2022.08.10 |
[R] 데이터 저장하기 : EXCEL 파일 - write_xlsx(), write.xlsx() (0) | 2022.08.10 |