데이터 들여다보기
데이터 불러오기- 판매 건수 데이터
매출 데이터를 다운받는다.
read.csv로 불러오기
stringsAsFactors
는 F
로, fileEncoding
은 UTF-8
로 설정한다. stringAsFactors
에서 string은 문자열이다. 데이터에서 판매 건수는 숫자이지만, 지역구나 성별은 문자열로 되어있기 때문에 factor
로 자동으로 변환해주는 기능이다.
sales <- read.csv('sales.csv', stringsAsFactors = F, fileEncoding = 'UTF-8')
데이터 확인
head
전체 데이터를 다 보면 화면에 찍힐 때마다 필요한 메모리의 양이 많기 때문에 엄청 느려진다. 그래서 데이터를 불러왔을 때는 head
로 일부만 탐색적으로 알아볼 필요가 있다.
head(sales)
시 구 성별 점포명 점포코드 연월일 판매건수 1 서울특별시 강남구 남 스탑버스 12AA02 20140101 103 2 서울특별시 강남구 여 키즈랜드 100101 20140101 309 3 서울특별시 강남구 여 키즈랜드 100101 20140101 365 4 서울특별시 강남구 남 스탑버스 12AA02 20140101 421 5 서울특별시 강남구 여 스탑버스 12AA02 20140101 413 6 서울특별시 강남구 남 키즈랜드 100101 20140101 428
dim
dim
으로 데이터의 행과 열을 확인한다.
dim(sales)
[1] 262800 7
colnames
colnames
로 데이터의 columns를 확인한다.
table
table(sales$구)
로 구 별로 데이터가 몇 개 있는지 확인할 수 있다.
table(sales$구)
강남구 강동구 강북구 강서구 관악구 광진구 구로구 금천구 10502 10537 10511 10553 10513 10533 10499 10555 노원구 도봉구 동대문구 동작구 마포구 서대문구 서초구 성동구 10494 10473 10508 10546 10513 10467 10536 10513 성북구 송파구 양천구 영등포구 용산구 은평구 종로구 중구 10494 10485 10470 10483 10521 10542 10536 10526 중랑구 10490
dplyr chain 을 이용하기
아래와 같이 하면 table 과 동일한 결과가 나온다.
library(dplyr)
Attaching package: ‘dplyr’ The following objects are masked from ‘package:stats’: filter, lag The following objects are masked from ‘package:base’: intersect, setdiff, setequal, union
sales %>% select(구) %>% table
. 강남구 강동구 강북구 강서구 관악구 광진구 구로구 금천구 10502 10537 10511 10553 10513 10533 10499 10555 노원구 도봉구 동대문구 동작구 마포구 서대문구 서초구 성동구 10494 10473 10508 10546 10513 10467 10536 10513 성북구 송파구 양천구 영등포구 용산구 은평구 종로구 중구 10494 10485 10470 10483 10521 10542 10536 10526 중랑구 10490
아래와 같이 하면 성별
과 구
에 대한 table이 나온다.
sales %>% select(성별, 구) %>% table
구 성별 강남구 강동구 강북구 강서구 관악구 광진구 구로구 금천구 노원구 도봉구 남 4731 4724 4708 4771 4744 4764 4753 4742 4707 4715 여 4745 4734 4716 4745 4728 4734 4709 4749 4732 4737 구 성별 동대문구 동작구 마포구 서대문구 서초구 성동구 성북구 송파구 양천구 남 4758 4735 4734 4703 4764 4713 4705 4715 4699 여 4717 4721 4742 4686 4750 4776 4696 4710 4730 구 성별 영등포구 용산구 은평구 종로구 중구 중랑구 남 4709 4732 4723 4712 4758 4687 여 4763 4721 4759 4789 4731 4694
아래와 같이 하면 점포명
에 대한 table이 나온다.
sales %>% select(점포명) %>% table
. @ 레스탑 베타문구 스탑버스 원조백반 원조한식 전주비빔 카페베타 26280 29585 29659 29424 29505 29641 29564 29565 키즈랜드 29577
dplyr chain 을 이용하기 - summary 사용
판매건수
를 table로 하게 되면 연속적으로 너무 많아 해석하기 힘들기 때문에 summary
이용한다. 판매건수
에 대한 평균, 최소, 최댓값을 알려준다.
sales %>% select(판매건수) %>% summary
판매건수 Min. : 1.0 1st Qu.:125.0 Median :251.0 Mean :250.6 3rd Qu.:377.0 Max. :500.0
업종 코드 데이터를 이용한 실습
업종 정보를 다운받은 후, 업종 코드 데이터를 불러온다.
product.code <- read.csv('productcode.csv', stringsAsFactors = F, fileEncoding = "UTF-8")
업종코드 데이터를 탐색적으로 확인한다.
product.code %>% head
업종코드 업종명 1 1001 유아용품 2 1002 한식 3 1100 완구 4 12AA 카페
데이터의 행과 열을 확인한다.
dim(product.code)
[1] 4 2
기후 데이터를 이용한 실습
기상 데이터를 다운받아 연다.
일별이 아닌 월별로 데이터가 있다. 강수량은 결측치가 있다. 전산상의 오류나 사람이 입력 못 했을 경우에 결측치가 있다.
climate <- read.csv('seoul_climate.csv', stringsAsFactors = F, fileEncoding = "UTF-8")
기후 데이터를 탐색적으로 확인한다.
climate %>% head
시 구 연월 위도 경도 강수량 1 서울특별시 강남구 201401 37.49666 127.063 NA 2 서울특별시 강남구 201402 37.49666 127.063 187 3 서울특별시 강남구 201403 37.49666 127.063 122 4 서울특별시 강남구 201404 37.49666 127.063 0 5 서울특별시 강남구 201405 37.49666 127.063 NA 6 서울특별시 강남구 201406 37.49666 127.063 144
select(연월)
을 이용해 연월
데이터를 선택한다. 연월 25일만 나와서 자료가 비어있음을 알 수 있다.
climate %>% select(연월) %>% table
. 201401 201402 201403 201404 201405 201406 201407 201408 201409 201410 201411 25 25 25 25 25 25 25 25 25 25 25 201412 201501 201502 201503 201504 201505 201506 201507 201508 201509 201510 25 25 25 25 25 25 25 25 25 25 25 201511 201512 25 25
select(강수량)
을 이용해 데이터를 선택한다. 강수량은 연속적인 변수이기 때문에 해석을 위해 table
대신 summary
를 사용한다. 오차(결측치)가 있는 날도 있다.
climate %>% select(강수량) %>% summary
강수량 Min. : 0.0 1st Qu.: 0.0 Median : 89.0 Mean : 85.4 3rd Qu.:151.0 Max. :286.0 NA's :103