반응형
데이터 개념 이해하기(3)
전국 커피숍 폐업/영업 상황을 살펴본다.
install.packages("data.table")
library("data.table")
library("ggplot2")
필요한 패키지를 불러온다.
DF <- fread("c:/r/example_coffee.csv", header=T, stringsAsFactors=T, data.table=F)
read.csv()보다 빠른 fread()로 데이터를 불러온다. fread()함수는 data.table 패키지의 함수이다. 관측치가 많고 한글이 많아 데이터가 큰 경우 read.csv()보다 몇 십배는 더 빠른 fread()를 이용해 데이터를 불러오는 게 좋다.
str(DF)
데이터 구조를 살펴본다.
DF <- subset(DF, select=c(-adress, -adressBystreet, -dateOfclosure, -startdateOfcessation, -duedateOfcessation, -dateOfreOpen, -zip))
str(DF)
불필요한 변수를 삭제한다.
range(DF$yearOfStart,na.rm=T)
최초 커피숍을 찾는다.
yearOfStart 변수의 범위를 구하면 최초 등록한 커피숍 연도를 알 수 있다. na.rm=T 인자는 NA값을 제외하고 함수를 실행하기 위해 추가한다.
DFFilter <- subset(DF, subset=(stateOfbusiness=="운영중"))
range(DFFilter$yearOfStart,na.rm=T)
subset(DFFilter,subset=(yearOfStart==1967))
subset을 이용해 운영중인 관측치만 별도로 저장한다. 제일 오래된 커피숍은 1967년에 창업한 커피숍이고 두 개나 있다.
table(DF$yearOfStart)
해마다 오픈한 커피숍 개수를 찾는다.
library("ggplot2")
qplot(yearOfStart,data=DF,geom="bar")
막대그래프로 그려본다.
Freq <- table(DF$stateOfbusiness,DF$yearOfStart)
Freq
영업상태 및 연도에 따른 분할표를 만든다.
table()함수에 두 변수를 넣어 분할표를 만든다. 연도별 운영과 폐업 커피숍을 비교한다.
which(colnames(Freq)=="1997")
which.max(colnames(Freq))
Freq <- Freq[,c(30:47)]
1997 년도 이상 데이터만 저장한다.
which(논리값이 있는 객체)는 값이 벡터 중 어디에 있는 값인지 알려준다.
which.max()는 벡터의 마지막 위치 값이 얼마인지 알려준다.
pFreq <- prop.table(Freq,margin=2)
pFreq
비율도 본다. margin인자 값에 2를 넣으면 열의 비율로 계산하게 된다.
NewDF <- data.frame(colnames(Freq),Freq[1,],Freq[2,],pFreq[1,],pFreq[2, ])
NewDF
새로운 데이터프레임으로 자료를 모은다.
rownames(NewDF) <- NULL
colnames(NewDF) <- c("Time", "Open", "Close", "pOpen", "pclose")
NewDF
행과 열의 이름을 정리한다.
ggplot(NewDF,aes(x=factor(Time),y=Close,group=1))
+ geom_line(colour="steelblue1",size=1)
+ geom_point(colour="steelblue",size=3)
+ geom_line(aes(y=Open),colour="tomato2",size=1)
+ geom_point(aes(y=Open),colour="red",size=6)
+ theme_bw()
마지막으로 라인 그래프를 그린다.
반응형
'프로그래밍언어 > R' 카테고리의 다른 글
[R] : 기술 통계 값 구하기 (0) | 2022.03.23 |
---|---|
[R] : 데이터 프레임 다루기(4) (0) | 2022.03.23 |
[R] : 데이터 개념 이해하기(2) (0) | 2022.03.14 |
[R] : 데이터 개념 이해하기(1) (0) | 2022.03.14 |
[R] : 데이터 프레임 다루기(3) (0) | 2022.03.14 |
댓글