노센스와 함께하는 데이터 분석

데이터과학자, '현장에서 바로 써먹는' 시리즈 저자

(R) 데이터 분석 실습

(R) 데이터 다루기 - subset

노센스 2021. 11. 30. 22:25

이제 불러온 데이터를 다루는 방법에 대해서 설명드리겠습니다.

 

일반적으로 데이터를 다룰 때 가장 널리 사용되는 패키지는 dplyr이 있지만 기본 함수인 subset만으로도 충분히 데이터를 다루는 일이 가능하기 때문에 subset() 함수에 대해서 우선 설명드리겠습니다.

 

우선 데이터 셋으로 사용할 iris라는 데이터 셋에 대해서 먼저 설명드리겠습니다.

iris는 붓꽃을 의미하며 붓꽃의 종류(Species)별 특징을 기록해놓은 데이터 셋이 되겠습니다.

아래와 같이 총 3종류에 꽃받침(Sepal), 꽃잎(Petal) 길이(Length)와 넓이(Width)를 종류별 50개씩 기록했습니다.

iris 데이터 셋은 R에서 기본적으로 내장하고 있으므로 그냥 iris라고 입력하고, 실행(Ctrl + Enter)하면 바로 불러올 수 있습니다.

 

우선 아래와 같이 코드를 입력하고, 하나씩 설명해드리겠습니다.

 

a <- iris

summary(a)

b <- subset(a, Species == "virginica")

summary(b)

c <- subset(a, Sepal.Length > 7 & Species == "virginica")

summary(c)

summary() 함수는 데이터 셋의 특징을 말 그대로 요약해서 보여주는 함수로 iris 데이터 셋을 a라는 변수에 집어넣은 후 a의 요약을 확인해보았습니다.

앞서 설명드린대로 한 종류 당 50개 씩 데이터가 들어있음을 확인할 수 있습니다.

 

데이터를 필터링하는 subset() 함수는 아래와 같이 쓸 수 있습니다.

subset(데이터셋, 각종 조건)

 

변수 b에는 subset() 함수를 이용해 a 데이터 셋에서 Species가 virginica인 대상만 필터링해서 가져오도록 했습니다.

 

변수 c에는 한 가지 조건을 더 추가해 Sepal.Length가 7보다 큰 대상만 필터링해서 가져오도록 했습니다.

 

이제 조건 필터링 및 원하는 열만 가져오록 해보겠습니다.

품종이 setosa인 대상만 필터링하되 총 5개의 열 중 Sepal.Length, Sepal.Width, Species 열 3개만 가져오도록 코드를 입력하면 아래와 같습니다.

d <- subset(a, Species == "setosa", select = c(Sepal.Length, Sepal.Width, Species))

summary(d)

summary() 함수를 이용해 확인해본 결과 3개의 열이 불러와졌으며 Species 또한 setosa만 불러와진 것을 확인할 수 있습니다.

 

아래에 실습에 활용한 R 스크립트 파일을 첨부하오니 참고하시기 바랍니다. 감사합니다.

01.데이터 다루기 - subset.R
0.00MB