R – 데이터 가공 스크립트로 알아보기

Script )

데이터 가공: 조건에 맞춰 일부 데이터만 저장하는 기술 등을 의미

# R Base data sets 이용
# 데이터 가공 

install.packages("dplyr")
install.packages("gapminder")
library(gapminder)
library(dplyr)

# dplyr패키지에 있는 함수로, 데이터 내용과 구조를 보는 함수이다. 
glimpse(gapminder)

View(gapminder)

# 일부 데이터만 보이기 
# country가 Croatia인 데이터만 보이기 
gapminder[gapminder$country=="Croatia",]
# 보일 속성들만 벡터에 담아서 인수로 보냄
gapminder[, c("country", "lifeExp", "year")]

# 응용 
# coutry가 Croatia고 year가 1990초과일 때, listExp,pop속성 데이터만 보이게 하기
gapminder[gapminder$country == "Croatia" & gapminder$year > 1990, c("lifeExp","pop")]

# dplyr 라이브러리를 이용한 데이터 가공 # 

select(gapminder, country, year, lifeExp) # gapminder의 country,year,lifeexp속성만 보이기 <속성에 해당하는 열 데이터 보이기>
filter(gapminder, country == "Croatia") # country가 Croatia인 데이터만 보이기 <조건에 맞는 데이터 보이기>
summarise(gapminder, pop_avg = mean(pop)) # pop의 평균값을 요약해서 보이기 

# group_by함수는 두 번째 이하 인수에 오는 속성의 데이터를 가지고 그룹짓는다. 
# 그냥은 쓰이지 않고 다른 함수와 연속적으로 쓰인다.
# => continent속성의 데이터를 가지고 그룹짓고 그룹별로 pop의 평균값을 구해라 
summarise(group_by(gapminder, continent), pop_avg = mean(pop))

summarise(group_by(gapminder, continent, country), pop_avg = mean(pop))

# 함수를 다르게 쓰는 방법이다. 
gapminder %>% group_by(continent, country)
gapminder %>% group_by(continent, country) %>% summarise(pop_avg = mean(pop))

# filter함수로 country가 Croatia인 데이터만 모음
temp1 = filter(gapminder, country == "Croatia") 
temp1
# teamp1에서 country,yeat,lifeExp열 데이터만 모음
temp2 = select(temp1, country, year, lifeExp)
temp2
# apply는 함수 적용 개념. 
# temp2의 lifeExp속성 데이터만 가지고 처리하는데 평균 함수를 이용하라. (두 번째 인수에 2를 줘야 동작함)
temp3 = apply(temp2[ , c("lifeExp")],2,mean)
temp3

북 참고) R로 배우는 데이터 과학

Leave a Reply

Your email address will not be published. Required fields are marked *