10강. 기상정보를 활용한 불쾌지수 분석_2
일교차의 평균, 표준편차, 최대값, 최소값 구하기
mean(data.tempdist$일교차)
sd(data.tempdist$일교차)
max(data.tempdist$일교차)
min(data.tempdist$일교차)
데이터 그룹화하기
data.group <- group_by(data.month, 월)
data.group
# 그룹화된 데이터로 월 평균 일교차 확인 및 변수 추가
data.group_avg <- summarise(data.group, avg=mean(일교차))
head(data.group_avg)
data.avg.td <- mutate(data.group, 월평균=mean(일교차))
head(data.avg.td)
불쾌지수 변수 생성
불쾌지수 = 1.8T - 0.55(1 - RH)(1.8T - 26) + 32 *T: 기온, RH: 상대습도(%)
data.thi <- mutate(data.month, 불쾌지수 = 1.8*평균기온 - 0.55*(1-습도/100)*(1.8*평균기온-26)+32)
head(data.thi)
# 불쾌지수가 70초과인 날
data.thi_70 <- data.thi[data.thi$불쾌지수 > 70]
head(data.thi_70)
dim(data.thi_70)
월 평균 일교차 그래프 그리기
ggplot(data=data.group_avg, aes(x=as.numeric(월), y=avg))
+ geom_line()
+ geom_point(size=2, color='red')
+ ggtitle('월 평균 일교차')
+ ylab('기온')
+ xlab('월')
+ theme(plot.title=element_test(hjust=0.5)) # 그래프 제목 위치(왼쪽:0, 가운데:0.5, 오른쪽:1)
문자형을 날짜형으로 변경
head(data.thi$일자)
str(data.thi$일자)
head(as.Date(data.thi$일자))
str(as.Date(data.thi$일자))
불쾌지수 그래프 그리기
ggplot(data=data.thi, aes(x=as.Date(일자), y=불쾌지수))
+ geom_line()
+ ggtitle('일별 불쾌지수')
+ xlab('일자')
+ ylab('불쾌지수')
+ geom_hline(hintercept=70, linetype='dashed', size=1, color='red') # y=70인 수평선 긋기, 선유형:점선, 선두께:1, 선색깔: 빨간색
11강. 유동인구 데이터 분석 따라하기_1
데이터 수집
데이터스토어(회원가입 후 이메일 인증 필요) > 서울 성별 연령 유동인구 > 개인정보 3자 제공 동의 및 이용 신청 > 마이페이지-데이터 상품 이용신청 내역-파일 > 엑셀 프로그램을 통해 데이터 확인하기
사용할 패키지 설치 및 불러오기
install.packages('dplyr')
library(dplyr)
data.raw <- read.csv(file.choose(), header=T, fileEncoding='UCS-2LE') # 맨 마지막행 무시
데이터 확인하기, 변수 이름 변경
View(data.raw)
head(data.raw)
tail(data.raw)
str(data.raw)
dim(data.raw)
names(data.raw)
names(data.raw)[5:16] <- c('m10', 'm20', 'm30', 'm40', 'm50', 'm60over',
'f10', 'f20', 'f30', 'f40', 'f50', 'f60over')
names(data.raw)
남녀별 유동인구 합계 변수 추가하기
data.use <- mutate(data.raw,
m_total=m10+m20+m30+m40+m50+m60over,
f_total=f10+f20+f30+f40+f50+f60over,
mf_total=m_total+f_total)
data.use
12강. 유동인구 데이터 분석 따라하기_2
유동인구 상위 10개 지역?
data.arrange <- arange(data.use, desc(mf_total))
data.arrange10 <- head(data.arrange, 10)
구역별 남성/여성 유동인구가 가장 많은 연령층? 데이터 시각화
# 남성
m_max_which <- max_col(data.use[5:10]) + 4
names(data.use)[m_max_which]
# 여성
f_max_which <- max_col(data.use[11:16]) + 10
names(data.use)[f_max_which]
# 변수로 추가
data.major.age <- mutate(data.use,
major_m = names(data.use)[m_max_wchich]
major_f = names(data.use)[f_max_wchich])
# 테이블화
m_age_table <- table(data.major.age$major_m)
m_age_table
f_age_table <- table(data.major.age$major_f)
f_age_table
# 시각화: 막대그래프
barplot(m_age_table, xlab='연령대', ylab='빈도수', ylim=c(0,800), main='남성 유동인구 막대그래프')
barplot(f_age_table, xlab='연령대', ylab='빈도수', ylim=c(0,800), main='여성 유동인구 막대그래프')
# 시각화: 그룹 막대그래프
age_table <- rbing(m_age_table, f_age_table)
colnames(age_table) <- c('20대', '30대', '40대', '60대이상')
bar.text <- barplot(age_table, beside=T, legend=c('man', 'woman'),
xlab='연령대', ylab='빈도수', ylim=c(0,800), main='성별 유동인구 막대그래프')
text(bar.text, age_table, labels=age_table, pos=3) # x좌표, y좌표, 추가할 문자, 위치 1:below, 2:left, 3:above(default), 4:right
# 시각화: 파이차트 그리기
data.arrange10_t <- t(data.arrange10)
data.m_1 <- data.arrange10_t[5:10, 1]
pct <- round(data.m_1/sum(data.m_1)*100) # 세대별 비율
lbls <- paste(pct, '%', sep='') # 출력할 텍스트 값에 % 추가
lbls
pie(data.m_1, labels=lbls, main='남성 세대별 유동인구')
'데이터 청년 캠퍼스 > 사전교육' 카테고리의 다른 글
[쉽게 따라하는 데이터 분석] 7강 - 9강 (0) | 2022.07.13 |
---|---|
[쉽게 따라하는 데이터 분석] 4강 - 6강 (0) | 2022.07.12 |
[쉽게 따라하는 데이터 분석] 1강 - 3강 (0) | 2022.07.11 |