##
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
##
## select
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## 이름 성별 키 몸무게 혈액형
## 1 일주영 남자 160 60 A
## 2 이주영 남자 170 70 A
## 3 삼주영 여자 180 80 B
## 4 사주영 남자 165 65 AB
## 5 오주영 여자 160 40 AB
## 6 육주영 여자 160 80 O
## 7 칠주영 여자 190 90 O
## 8 팔주영 여자 170 90 A
## 9 구주영 남자 160 50 B
## 10 십주영 남자 170 50 O
#————————————————– # 강의 과제(Assignment) 수행을 위한 실행 내용 #————————————————–
qplot(data = diamonds, x = carat, y = price, geom = “line”) ; ggplot(diamonds, aes(carat, price)) + geom_line();
qplot(data = diamonds, x = carat, y = price, geom = c(“point”, “line”)) ; ggplot(diamonds, aes(carat, price)) + geom_line() + geom_point();
ggplot(diamonds, aes(carat, price)) + geom_line() + geom_point(col=“blue”, shape=-8, size=3);
ggplot(diamonds, aes(carat, price)) + geom_line() + geom_point(col=“grey”, shape=21, size=3)+scale_fill_brewer(palette=“Oranges”);
ggplot(iris, aes(Sepal.Width, Sepal.Length, fill=Species)) + geom_line(col=“red”) + geom_point(col=“grey”, shape=21, size=3)+scale_fill_brewer(palette=“Oranges”);
ggplot(iris, aes(Sepal.Width, Sepal.Length, fill=Species)) + geom_line(col=“red”) + geom_point(col=“grey”, shape=21, size=3)+scale_fill_brewer(palette=“Oranges”)+facet_wrap(Petal.Length~Species);
install.packages(“MASS”); library(MASS); # Cars93 데이터 활용 library(dplyr); library(ggplot2); Cars93; str(Cars93);
dplyr::select(mydata,mpg,cyl,wt) require(MASS) require(dplyr) mtcars %>% dplyr::select(mpg)
Cars93 %>% dplyr::select(Model, Type, Price, MPG.highway, Weight) Cars93 %>% filter(Type==“compact” | Type==“Large”)
mungdata <- Cars93 %>% dplyr::select(Model, Type, Price, MPG.highway, Weight) %>% filter(Type==“compact” | Type==“Large”)
ggplot(mungdata, aes(x=Weight, y=MPG.highway)) +geom_point(aes(size=Price), shape=21, color=“grey”, fill=“blue”, alpha=.5)
ggplot(mungdata, aes(x=Weight, y=MPG.highway)) +geom_point(aes(size=Price), shape=21, color=“grey”, fill=“blue”, alpha=.5)+geom_text(aes(y=as.numeric(MPG.highway)-0.3), label=mungdata$Model, angle=45,size=4, color=“red”)
d1 <- dplyr::select(Cars93, Type, Model, Max.Price, Min.Price) # 2-2. subset 사용 d1 <- subset(Cars93, select=c(“Type”, “Model”, “Max.Price”, “Min.Price”))
d2 <- d1 %>% filter(Type==“Large” | Type == “Sporty” | Type==“Van”) # 3-1. subset 사용 d2 <- subset(d1, Type==“Large” | Type == “Sporty” | Type==“Van”)
head(d2);
ggplot(d2, aes(x=Max.Price, y=Model, shape=Type, color=Type))+geom_point(size=2)
g1<- ggplot(d2, aes(x=Max.Price, y=reorder(Model, Max.Price), shape=Type, color=Type))+geom_point(size=3) g1;
g2 <- g1 + theme_bw(); g2;
g3 <-g2+ theme( panel.grid.major.x = element_blank(), panel.grid.minor.x = element_blank(), panel.grid.major.y = element_line(color=“grey”, linetype=“dashed”)) g3;
ggplot(d2, aes(x=Max.Price, y=reorder(Model, Max.Price), shape=Type, color=Type))+geom_point(size=3)+theme_bw()+theme( panel.grid.major.x = element_blank(), panel.grid.minor.x = element_blank())+facet_grid(Type~.)
install.packages(“reshape2”); library(reshape2);
d2; md <- melt(d2, idvars=c(“Type, Model”)) Using Type, Model as id variables head(md);
g1 <- ggplot(md, aes(x=value, y=reorder(Model, value))) + geom_segment(aes(yend=Model, xend=0)); g1;
g2 <- g1 + geom_point(size=3, aes(shape=variable)); g2;
g3 <- g2 + theme_bw() + theme( panel.grid.major.x = element_blank(), panel.grid.major.y = element_blank())+facet_grid(Type~.)+xlab(“Price($)”)+ylab(“Model”) g3;
g3 <- g2 + theme_bw() + theme( panel.grid.major.x = element_blank(), panel.grid.major.y = element_blank())+facet_grid(Type~., scales=“free_y”, space=“free_y”)+xlab(“Price($)”)+ylab(“Model”) g3; #—————————————- # 14. 값에 따라 점의 크기가 변하는 그래프 버블 차트 생성 # MASS 데이터프레임 Cars93 활용 # dplyr 패키지의 전처리 함수 활용
dplyr::select(mydata,mpg,cyl,wt) mtcars %>% dplyr::select(mpg)
Cars93 %>% dplyr::select(Model, Type, Price, MPG.highway, Weight)
Cars93 %>% filter(Type==“compact” | Type==“Large”)
mungdata <- Cars93 %>% dplyr::select(Model, Type, Price, MPG.highway, Weight) %>% filter(Type==“compact” | Type==“Large”)
ggplot(mungdata, aes(x=Weight, y=MPG.highway)) +geom_point(aes(size=Price), shape=21, color=“grey”, fill=“blue”, alpha=.5)
ggplot(mungdata, aes(x=Weight, y=MPG.highway)) +geom_point(aes(size=Price), shape=21, color=“grey”, fill=“blue”, alpha=.5)+geom_text(aes(y=as.numeric(MPG.highway)-0.3), label=mungdata$Model, angle=45,size=4, color=“red”)
man <- read.csv(“man.csv”, head = TRUE); man ;
man_gg <- ggplot(man, aes(x=몸무게, y=키, color=성별, shape=성별))+geom_point(size=7)+theme(text=element_text(size=20)); man_gg ;
man_gg_1 <- ggplot(man, aes(x=몸무게, y=키)) +geom_point(aes(color=성별, shape=혈액형), size=7)+theme(text=element_text(size=20)); man_gg_1 ;
man_gg_2 <- ggplot(man, aes(x=몸무게, y=키)) +geom_point(aes(color=성별, shape=혈액형), size=7)+theme(text=element_text(size=20))+ geom_text(aes(label=이름), vjust=1.1, color=“blue”, size=5)+theme_dark() man_gg_2 ;
## 이름 성별 키 몸무게 혈액형
## 1 일주영 남자 160 60 A
## 2 이주영 남자 170 70 A
## 3 삼주영 여자 180 80 B
## 4 사주영 남자 165 65 AB
## 5 오주영 여자 160 40 AB
## 6 육주영 여자 160 80 O
## 7 칠주영 여자 190 90 O
## 8 팔주영 여자 170 90 A
## 9 구주영 남자 160 50 B
## 10 십주영 남자 170 50 O