1. [] dotchart [] - 이산형태의 index로 df$칼럼을 dot 그리는데, index가 y축 + dot선 / 오름차순 정렬df[order(df4칼럼), ]이후 -> color = 범주형칼럼으로 color컬럼 생성 , groups = 범주형칼럼으로 범주형칼럼에 ..
#### dot chart ####
# 일반 plot()
x <- 1:10
y <- x-1
plot(x, y) #plot(y~x) 동일한 문법
plot(y~x)
#### 1. dotchart의 x(index)는 이산형( ex>문자열의 행이름 같은 or 수치형벡터 or 행렬 ) = 연속형 X ####
# *** x가 이산형태의 데이터야지 dotchart를 그릴 수 있다.
dotchart(y~x) #Error 'x'는 반드시 수치형 벡터 또는 행렬이어야 합니다.
#### 2. dotchart($칼럼인덱싱, labels, cex)는 < plot(x, y)과는 x축과 y축이 서로 바뀌어서 index가 y축에 > dot선을 가지고 나타난다. ####
# dotchart의 df자리에는 $컬럼인덱싱을 해주면, index가 (y축)으로서 간다.
#데이터 준비
mtcars # mpg(마일리지), cyl(실린더), gear(기어 수) 칼럼만 사용할 것이다.
mtcars$mpg
# 1) df의 한 칼럼(mpg칼럼)을 dotchart()에 넣어보자.
plot(mtcars$mpg) # plot()의 index는 각 차 이름(row명)가 숫자로서 나타남
dotchart(mtcars$mpg) # index - 차이름(row.names)들이 y축으로 가며, 각 차이름들에 대해 dot들이 연결된다.
# 2) *** index(y축)가 행번호가 찍혀야하는데, 행 이름(문자열)이 기재되어있는 df라면 비어있게 되므로, labels = row.names()라 기재해준다.
row.names(mtcars)
dotchart(mtcars$mpg, labels = row.names(mtcars))
# 3) *** y축(index) 글자의 크기를 줄일려면, cex = 0.7을 보통 주면 된다 *** ####
dotchart(mtcars$mpg, labels = row.names(mtcars), cex=0.7)
#### 3. 이제 dotchart()로 표현될 $mpg칼럼의 점들이 $cyl 컬럼에 대해서 어떻게 다른지 알아보자. ####
# 1) ***dotchat()에 그려지는 mpg칼럼에 대해 오름차순으로 먼저 정렬한다.
# *** df [ order ( $칼럼인덱싱 ), ] *** 으로 한 칼럼에 대해 *** 오름차순 sort *** 시킨다.
carmpg <- mtcars[order(mtcars$mpg), ]
carmpg
# 2) ***mpg칼럼에 대해 오름차순 정렬된 df에 <- 기준 범주(그룹)를 적용할 칼럼 하나를 factor화(factor()) 하기 ####
참고) https://thebook.io/006723/ch02/03/06/
# - factor()는 연속적인 - 수치형(my)연속형) (Numeric)과 상반되는 개념인 범주형(categorical)자료형으로
# - 1) 순서를 둘 수 있는 순서형(Ordinal)과 2) 비교불가능한 범주인 명목형(Nominal)로 구분된다.
# *** 실험결과 여기서는 factor() 안만들고 해도 상관없더라... ***
carmpg$cyl # cyl칼럼은 8 or 6 or 4이다.***연속형의 값이 아니라, 각각을 <구분해주는 요소(Factor)>들을 의미한다. ex> 남/여 1/2는 값의 크고작은 수치가 중요한게 아니라 <서로를 구분해주는 카테고리형, 범주형의 Factor>이다.
carmpg$cyl <- factor( carmpg$cyl )
# factor화된 것 확인
class(carmpg$cyl) # "factor"
# my)
sapply(carmpg, FUN = "class")
# 3) dotchart()에 그려지는 칼럼(mpg)에 대해 sort한 새로운df를 dotchart()그리기
dotchart(carmpg$mpg, labels = row.names(carmpg), cex=0.7 )
# 4) *** dotchart 칼럼(mpg)에 대해, 범주를 두고 싶은 칼럼(cyl)의 값 별로 -> 새로운 color칼럼 만들기
#cyl칼럼의 요소들 확인해보기
table(carmpg$cyl) # 4 /6 /8 종류가 있다.
# ***color칼럼 <생성과 동시에 &칼럼인덱싱> + 행인덱싱자리에 범주적용컬럼의 각별로 조건문인덱싱 = color값 문자열 대입
carmpg$color [ carmpg$cyl == 4 ] <- "blue"
carmpg$color [ carmpg$cyl == 6 ] <- "green"
carmpg$color [ carmpg$cyl == 8 ] <- "red"
# 5) ***cyl값에 대한 color칼럼을 dotchart()의 color=인자로 넣어준다.
dotchart(carmpg$mpg, labels = row.names(carmpg), cex=0.7, color=carmpg$color )
# 6) *** 그래프보고 해석해보기
# - cyl 8개 짜리(=빨간색)일수록 mpg가낮은 편이다.
# - cyl 4개 짜리일수록 mpg가 높은 편이다.
# 7) *** cyl값(4, 6, 8)별로 그룹을 나눠서 dotchart()보기 groups = 그룹 나누는 기준이 될 $칼럼
dotchart(carmpg$mpg, labels = row.names(carmpg),
groups = carmpg$cyl, cex=0.7, color=carmpg$color )
# 8) main인자로 dotchart 제목 주기
dotchart(carmpg$mpg, labels = row.names(carmpg),
groups = carmpg$cyl, cex=0.7, color=carmpg$color,
main = "Milage depending on numbers of cylinder")
# 9) xlab인자로 dotchart x축 label 주기
dotchart(carmpg$mpg, labels = row.names(carmpg),
groups = carmpg$cyl, cex=0.7, color=carmpg$color,
main = "Milage depending on numbers of cylinder",
xlab = "Milage per Gallon")
### 최종해석 : cyl와 milage는 반비례하는 경향이 있다.
'한의대 생활 > └ R studio 시각화' 카테고리의 다른 글
5. [] barplot with error bar [] (0) | 2019.01.15 |
---|---|
4. [] ggplot []로 보는 선형회귀모델의 stat_smooth(method=lm, level= 0.95) 와 lm(y~X, df)로 확인하는 절편/기울기 (0) | 2019.01.02 |
3. [] plot() option [] - type,col,pch / par(mfrow = (n,m)) + for()를 이용하여 여러개 plot 동시에 그리기 (0) | 2019.01.01 |
2. [] ggvis [] 파이프라인 + ggvis로 그래프 그리기 (0) | 2018.12.31 |