실습하기 (weather.csv)
문제1: weather.csv를 불러와서 weather라는 데이터 프레임을 만드시오.
weather <- read.csv("weather.csv", stringsAsFactors = F, fileEncoding = "euc-kr")
Error in make.names(col.names, unique = TRUE) : invalid multibyte string at '<c0>Ͻ<c3>'
→ fileEncoding = "euc-kr"로 해결!
문제2: 측정 척도가 문자인 변수는 무엇인가?
→ 일시, 요일.구분
str(weather) #타입 확인용
문제3: ‘일시’ 변수에 대해 측정 척도를 문자에서 날짜(date)로, ‘요일.구분’에 대해 범주(factor)로 바꾸시오.
힌트: 요일로 변경 - df$var <- as.Date(df$var) / 범주로 변경 - df$var <- as.factor(df$var)
weather$일시 <- as.Date(weather$일시)
weather$요일.구분 <- as.factor(weather$요일.구분)
str(weather) #타입 확인용
문제4: 일시 변수를 이용해서 요일(월~일요일)을 파악한 후 이를 ‘요일’이라는 이름의 변수에 저정하시오. 그리고 ‘요일’변수의 척도를 문자에서 범주로 바꾸시오.
힌트: 내장함수인 weekdays()를 활용함
weather$요일 <- weekdays(weather$일시)
weather$요일 <- as.factor(weather$요일)
문제5: 14개 변수에 대해 summary()를 통해 검토해 보시오.
일강수량과 평균.현지기압에서 NA로 표기된 것은 무엇일까?
summary(weather)
문제6: ‘일강수량’ 변수에 대해 분산을 구해 보시오.
#내 풀이
var(weather$일강수량)
→ [1] NA 이라고 출력되는데 어떻게 해결하지?
weather$일강수량[is.na(weather$일강수량)] <- 0
summary(weather)
var(weather$일강수량)
→ NA를 0으로 변경하는 코드 추가
→ 결과: [1] 213.3963
#교수님 답
#교수님 답 (결측치 제거)
var(weather$일강수량, na.rm = T)
문제7: 요일과 요일.구분에 대해 빈도수를 각각 구하시오.
요일의 경우, 가나다 순서대로 된 정렬을 요일별로 바꿀 수는 없을까?
table(weather$요일)
table(weather$요일.구분)
weather$요일 <- factor(weather$요일, levels = c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"))
→ levels = c(~~)에 순서 지정 가능
문제8: 요일과 요일.구분을 동시에 고려한 qplot을 그려 보시오.
library(ggplot2) #ggplot2 라이브러리 불러오기
qplot(data = weather, 요일, fill = 요일.구분)
문제9: 평균기온과 평균.상대습도에 대해 히스토그램을 그리시오.
평균기온: -20~50°C 구간에 대해 1°C 간격
평균.상대습도: 0~100% 구간에 대해 1% 간격
hist(weather$평균기온, breaks = seq(-20, 50, by = 1))
hist(weather$평균.상대습도, breaks = seq(0, 100, by = 1))
'Language > R' 카테고리의 다른 글
[R] 데이터 전처리: filter, select, arrange 함수 (0) | 2021.10.08 |
---|---|
[R] 데이터 분석 기초 - 실습 (0) | 2021.10.05 |
[R] 데이터 분석 기초 (0) | 2021.10.05 |
[R] Mac에서 한글 깨짐 문제 해결하기 (ggplot2, plots 그래프) (2) | 2021.09.20 |
[R] 데이터 탐색 - 파일 읽기, 데이터 파악하기 (0) | 2021.09.19 |