R을 통해 데이터를 분석하는 방법이다. 이를 위해서는 'dplyr' 라는 패키지가 필요하므로 설치해 주어야 한다. 이 패키지에서 제공하는 함수들을 통해 행 또는 열을 추출하거나 그룹화 하여 피벗테이블과 같은 형태의 데이터로 재 가공할 수 있다.
#day03_04_preprocessing.R
install.packages('dplyr')
library(dplyr)
#dplyr
#r에서 데이터 전처리(분석)등을 하기 위해 기본적으로 필요한 패키지들을 모아둔 패키지
#대표적인 함수
#filter():행 추출
#select():열 추출
#mutate():열 추가
#group_by():그룹(집단)핑 기능
#subset():데이터 부분 선택
df_web<-read.csv('https://www.data.go.kr/comm/file/download.do?atchFileId=FILE_000000001507043&fileDetailSn=3',header=T)
df_web
head(df_web)
#데이터를 조건에 맞춰 선택하는 함수 subset() 을 이용하여 시도명, 시군구명, 도서관 유형에 해당되는 데이터를 조회한다.
df_lib_g<-subset(df_web,select=c('시도명','시군구명','도서관유형'))
df_lib_g
colnames(df_lib_g)<-c('sido','sigungu','type')
head(df_lib_g)
#그룹으로 분리하기
#sido로 그룹화하기
#group_by(데이터, 그룹key1,그룹key2)
group_by(df_lib_g,sido) #시도별로 정렬
count(group_by(df_lib_g,sido)) #시도별로 정렬 후 count() 사용하여 데이터 개수 검색
#실습
#df_lib_g를 sido,sigungu별 count해라
head(df_lib_g)
count(group_by(df_lib_g,sido,sigungu)) # 시도 시군구 count 형태로 테이블 생성
cnt<-count(group_by(df_lib_g,sido,sigungu))
cnt
order(cnt$n)
cnt[c(order(cnt$n)),] #오름차순
cnt[c(order(-cnt$n)),] #내림차순
lib_cnt<-cnt[c(order(-cnt$n)),] #lib_count <- cnt[order(-cnt$n),] 와 결과가 같다.
lib_cnt
#데이터 저장하기
#write.csv(데이터, 경로)
write.csv(lib_cnt,'G:/내 드라이브/Bigdata_AIB/r_src_koreait/r_src/lib_cnt.csv')
lib_cnt
#day03_04_preprocessing.R
install.packages('dplyr')
library(dplyr)
#dplyr
#r에서 데이터 전처리(분석)등을 하기 위해 기본적으로 필요한 패키지들을 모아둔 패키지
#대표적인 함수
#filter():행 추출
#select():열 추출
#mutate():열 추가
#group_by():그룹(집단)핑 기능
#subset():데이터 부분 선택
df_web<-read.csv('https://www.data.go.kr/comm/file/download.do?atchFileId=FILE_000000001507043&fileDetailSn=3',header=T)
df_web
head(df_web)
#데이터를 조건에 맞춰 선택하는 함수 subset() 을 이용하여 시도명, 시군구명, 도서관 유형에 해당되는 데이터를 조회한다.
df_lib_g<-subset(df_web,select=c('시도명','시군구명','도서관유형'))
df_lib_g
colnames(df_lib_g)<-c('sido','sigungu','type')
head(df_lib_g)
#그룹으로 분리하기
#sido로 그룹화하기
#group_by(데이터, 그룹key1,그룹key2)
group_by(df_lib_g,sido) #시도별로 정렬
count(group_by(df_lib_g,sido)) #시도별로 정렬 후 count() 사용하여 데이터 개수 검색
#실습
#df_lib_g를 sido,sigungu별 count해라
head(df_lib_g)
count(group_by(df_lib_g,sido,sigungu)) # 시도 시군구 count 형태로 테이블 생성
cnt<-count(group_by(df_lib_g,sido,sigungu))
cnt
order(cnt$n)
cnt[c(order(cnt$n)),] #오름차순
cnt[c(order(-cnt$n)),] #내림차순
lib_cnt<-cnt[c(order(-cnt$n)),] #lib_count <- cnt[order(-cnt$n),] 와 결과가 같다.
lib_cnt
#데이터 저장하기
#write.csv(데이터, 경로)
write.csv(lib_cnt,'G:/내 드라이브/Bigdata_AIB/r_src_koreait/r_src/lib_cnt.csv')
lib_cnt
댓글
댓글 쓰기