Script )
library(dplyr)
library(ggplot2)
library(lubridate) #날짜 관련 패키지
library(tidyr) # gather함수 담고 있음
avocado<-read.csv("avocado.csv",header=TRUE,sep=",")
avocado
# 표본의 개수, 변수의 개수 파악하기
dim(avocado)
# 그룹 만들고 그 그룹에 대한 Total.volume와 Averageprice평균 구하기
(x_avg = avocado %>% group_by(region) %>% summarize(V_avg = mean(Total.Volume), P_avg = mean(AveragePrice)))
View(x_avg)
# 히스토그램 보기
hist(x_avg$V_avg)
# 데이터 시각화
plot(x_avg$P_avg,x_avg$V_avg)
# region,year로 그룹 만들고 그 그룹에 대한 Total.volume와 Averageprice평균 구하기
(x_avg = avocado %>% group_by(region, year) %>% summarize(V_avg = mean(Total.Volume), P_avg = mean(AveragePrice)))
View(x_avg)
# region,year,type으로 그룹 만들고 그 그룹에 대한 Total.volume와 Averageprice평균 구하기
x_avg = avocado %>% group_by(region, year, type) %>% summarize(V_avg = mean(Total.Volume), P_avg = mean(AveragePrice))
View(x_avg)
# TotalUS빼고 ggplot를 통해 시각화한다.
x_avg %>% filter(region != "TotalUS") %>% ggplot(aes(year, V_avg, col = type)) + geom_line() + facet_wrap(~region)
# V_avg기준으로 x_avg를 내림차순
ax_avg<-arrange(x_avg,desc(V_avg))
View(ax_avg)
# 필터 주기
x_avg1 = x_avg %>% filter(region != "TotalUS")
x_avg1
x_avg1 = x_avg %>% filter(region == "Albany")
x_avg1
# 필터 조건 여러 개 주기
x_avg.state<-x_avg %>% filter(region==("Albany")|region==("Atlanta"))
x_avg.state
# 통계 함수 사용하기
max(x_avg1$V_avg) #최대값
mean(x_avg1$V_avg) #평균값
var(x_avg1$V_avg) #분산
median(x_avg1$V_avg) # 중앙값
mode(x_avg1$V_avg) #최빈값
# lubridate패키지의 month함수 사용해서 그룹핑,평균 구하기
(x_avg = avocado %>% group_by(region, year, month(Date), type) %>% summarize(V_avg = mean(Total.Volume), P_avg = mean(AveragePrice)))
# txt파일 불러오기
wine<-read.table("wine.data.txt",header=TRUE,sep=",")
View(wine)
# csv파일 만들기
write.csv(x_avg,file="xavocado")
# txt파일 읽고 저장
n<-readLines("wine.name.txt")
n
# n으로부터 문자열 빼와서 wine의 names로 설정 [두 번째 인수는 시작 인덱스,세 번째 인수는 끝낼 인덱스]
# nchar함수는 문자열의 크기 구하는 함수
names(wine)[2:14] <- substr(n,4, nchar(n))
View(wine)
# wine에서 60퍼 가져오기
train_set = sample_frac(wine, 0.6)
str(train_set)
# wine-train_set 구하기 <차집합>: wine에 속하면서 train_set에 속하지 않으니까 나머지 40퍼 구하는거
test_set = setdiff(wine, train_set)
str(test_set)
# 새로운 csv파일 가져오기
elec_gen = read.csv("electricity_generation_per_person.csv", header = TRUE, sep = ",")
View(elec_gen)
elec_use = read.csv("electricity_use_per_person.csv", header = TRUE, sep = ",")
names(elec_use)[2:56] = substr(names(elec_use)[2:56], 2, nchar(names(elec_use)[2:56]))
View(elec_use)
# gather함수를 이용해서 기준열과 두 개의 열 만들기 <기준열은 두 번째 인수에 쓰이며 -가 들어감>
# <두 열은 키 열과 값 열로 구성>
elec_gen_df = gather(elec_gen, -country, key = "year", value = "ElectricityGeneration")
View(elec_gen_df)
elec_use_df = gather(elec_use, -country, key = "year", value = "ElectricityUse")
View(elec_use_df)
북 참고) R로 배우는 데이터 과학