install.packages("maps")
install.packages("mapproj") 

 library(foreign)
 library(readxl)
 library(ggplot2)
 library(dplyr)
  library(ggiraphExtra)
  library(tibble)
 library(maps)
 library(mapproj)



ua = USArrests

str(ua)
head(ua)


#행 인덱스 -> 데이터 변환. 피봇기능의 일종, 
ua =  rownames_to_column(ua, var="state") # var: 컬럼이름을 무엇으로 할것인지.
str(ua)
ua

#지도 출력을 위해 state의 이름을 모두 소문자로 통일.

ua$state = tolower(ua$state)
ua

#지도 출력 기능
stt_map = map_data("state") #get longitute and altitude from state name in usa

str(ua)
str(stt_map)

ggChoropleth(data = ua, 
             aes(fill = Murder, 
                 map_id=state),
             map = stt_map)




#포인트 플롯 
plot(iris$Sepal.Width,iris$Sepal.Length,
     cex= 0.5 , pch="+", xlab="width", ylab="langth",
     col="#ff0000")

x = seq(0,2 * pi,0.1) # x = vector with 0 ~ 2 pi by 0.1
x

y = sin(x)
plot(x,y, cex=0.1 , col="red") # cex : size of circle
lines(x,y)# connect result of plot

cars
plot(cars, xlim = c(0, 25))
abline(a = 5 , b = 3.5, col = "red") # y = b*x + a 꼴 


#dist= 5 + 3.5 * speed 

plot(cars, xlim=c(0,30))
abline(a=-5, b=3.5 , col = "red")
abline(h = mean(cars$dist)) # dist의 평균 ,horizental 선 위치를 그려준다.
abline(v = mean(cars$speed)) # speed의 평균 ,vertical 선 위치를 그려준다.

plot(4:6, 4:6) # 4,4 5,6  6,6에 점을 찍는다.

#text(5,5,"x") # 5,5에 텍스트 출력.

text(5,5,"00", adj = c(0,0)) #5,5 위치의 어디 쪽 방향에 텍스트를 출력할지 지정.
text(5,5,"01", adj = c(0,1))
text(5,5,"10", adj = c(1,0))
text(5,5,"11", adj = c(1,1))

plot(cars, cex=.5)
text(cars$speed, cars$dist, pos=4) #cars$dist옆에 speed를 출력.
text(cars$dist, cars$speed , pos=4) #cars$speed옆에 dist를 출력.

identify(cars$speed, cars$dist) #현재 plot에 대해 특정 위치를 클릭해서 정보를 가져온다.



#범례 , legend

plot(iris$Sepal.Width, iris$Sepal.Length, pch = "+" ,xlab= "width", ylab="langth")
points(iris$Petal.Width, iris$Petal.Length, pch = "-" ,xlab= "width", ylab="langth", col="#ff0000")

legend("topright", 
       legend = c("Sepal", "Petal"), 
       pch=c("+","-"), #c함수로 묶어주는 값의 타입은 모두 동일해야 하므로 숫자와 문자를 같이 쓰지 않도록 주의한다.
       col=c("black", "red"), 
       bg = "gray")








+ Recent posts