해당 포스트에서는 R에서 특정 열을 범주형 변수(as.factor)로 변환하고 이를 활용하여 데이터셋을 분할하는 방법을 소개합니다.
INTRO
R에서는 다양한 데이터셋 분할 방법이 있습니다. 이 포스트에서는
데이터셋 분할하기
1. 샘플 데이터 생성
먼저, data.frame()
함수를 사용하여 mydf
데이터 프레임을 만듭니다. 이 데이터 프레임은 Lake
, Year
, Count
세 가지 열(column)을 가지며, 각각의 열에는 A, B, C라는 세 개의 Lake, 2011년과 2012년, 그리고 각 호수와 연도에 따른 물고기 수(Count)가 포함되어 있습니다.
mydf <- data.frame(
Lake = rep(c("A", "B", "C"), 2),
Year = rep(c("2011", "2012"), each = 3),
Count = c(2000, 2500, 3000, 2500, 2800, 3200)
)
mydf
Lake Year Count 1 A 2011 2000 2 B 2011 2500 3 C 2011 3000 4 A 2012 2500 5 B 2012 2800 6 C 2012 3200
2. 데이터 변환
as.factor()
함수를 사용하여 mydf$Year
열을 요인(factor)으로 변환합니다. 그 후, str()
함수를 사용하여 mydf$Year
열의 구조를 출력하여 정상적으로 범주형 변수로 변환되었는지 확인합니다.
mydf$Year <- as.factor(mydf$Year)
str(mydf$Year)
Factor w/ 2 levels "2011","2012": 1 1 1 2 2 2
3. 데이터 분할
subset()
함수를 사용하여 Year
열의 값이 2011년인 경우와 2012년인 경우를 각각 mydf_2011
과 mydf_2012
데이터 프레임에 저장합니다. 이를 통해, 2011년과 2012년에 대한 물고기 수를 각각 확인할 수 있습니다.
mydf_2011 <- subset(mydf, Year == Year[1])
mydf_2011
Lake Year Count 1 A 2011 2000 2 B 2011 2500 3 C 2011 3000
mydf_2012 <- subset(mydf, Year == Year[2])
mydf_2012
Lake Year Count 1 A 2011 2000 2 B 2011 2500 3 C 2011 3000
마무리
이번 포스트에서는 샘플 데이터를 만들고, 데이터 유형을 변환하고, 특정 조건에 따라 데이터 프레임을 구분하는 방법을 설명하였습니다. 이는, R에서 데이터를 다룰 때 기본적이면서 매우 중요한 과정 중 하나입니다. 많은 연습을 통해 다양한 문제를 상황에 맞게 해결하실 수 있길 바라겠습니다.
관련 링크
[1] 네이버 지식인