본문 바로가기
반응형

R시각화25

[ggplot2] x축과 y축 제목,눈금,라벨 제거 1. 축 제목 제거 x축 제목 제거 +theme(axis.title.x = element_blank()) y축 제목 제거 +theme(axis.title.y = element_blank()) 2. 축 눈금 제거 x축 눈금 제거 +theme(axis.ticks.x=element_blank()) y축 눈금 제거 +theme(axis.ticks.y=element_blank()) 3. 축 눈금 라벨 제거 x축 눈금 라벨 제거 +theme(axis.text.x=element_blank()) y축 눈금 라벨 제거 +theme(axis.text.x=element_blank()) 2023. 4. 6.
[R시각화] 눈금 라벨을 위아래로 움직이는 방법 (tick label move) 그래프를 그리기 전에 아래 코드를 입력합니다. par(mgp=c(3, 1.8, 0)) 두번째 값을 바꾸면 눈금이 위아래로 이동합니다. 2022. 9. 15.
[R 시각화] 여러 그래프의 제목과 축이름 글자 크기를 한변에 변경 par함수를 이용하면 됩니다. par 함수 안에 cex 옵션을 설정하면 그래프를 그릴 때 사용되는 디폴트 글자 크기가 변경됩니다. 아래는 예시입니다. #그래프 제목, 축이름 크기 변경 par(cex.main=3,cex.lab=1.5) #화면 나누기 par(mfrow=c(1,3)) #그래프프 plot(c(1,2,3),c(4,5,6),main="산점도") barplot(c(1,2,3),main="막대그래프") hist(rnorm(100),main="히스토그램") par 설정을 초기화하는 방법은 아래와 같습니다. dev.off() 2021. 6. 11.
[R시각화] boxplot 원하는 순서로 그리기 내장데이터인 InsectSprays 를 사용하겠습니다. 살충제와 곤충 수 데이터입니다. 살충제는 A,B,C,D,E,F 네가지입니다. > head(InsectSprays) count spray 1 10 A 2 7 A 3 20 A 4 14 A 5 14 A 6 12 A boxplot을 그려봅시다. dt=InsectSprays boxplot(count ~ spray, data = dt) 위와 같이 알파벳 순서대로 그려집니다. 원하는 순서로 바꿔봅시다. B,D,C,E,A 순으로 바꾸겠습니다. factor 를 이용합니다. dt$spray 2021. 5. 28.
[R시각화] 그래프 눈금 모서리부터 시작되게 하기 yaxs 와 xaxs 옵션을 "i"로 설정하면 눈금이 모서리 부터 시작됩니다. par(mfrow=c(1,2)) plot(1:5,main="설정안함") plot(1:5,yaxs='i',xaxs="i",main="옵션 설정") 2021. 5. 28.
R에서 파레토 차트 그리기 파레토 법칙이란? 파레토법칙은 20:80의 법칙이라고도 부릅니다. 상위 20%가 전체 원인의 80%를 차지한다는 법칙인데요. 예시는 아래와 같습니다. 모든 고객의 상위 20% 고객이 전체 매출의 80%를 차지함. 데이터 올 한해 고객이 5명이었고, 고객 5명의 구매액이 아래와 같다고 합시다. 단위는 만원입니다. 고객A : 100 고객B : 80 고객C : 10 고객D : 50 고객E : 300 파레토 차트 그리기 설명은 주석으로 대신합니다. #패키지 설치 install.packages("qcc") #패키지 불러오기 library(qcc) #데이터 입력 data 2021. 3. 17.
[R시각화] 조건부 막대그래프 (barchart) lattice 패키지의 barchart 함수를 이용하면 조건부 막대그래프를 그릴 수 있습니다. 먼저 예시에 사용할 데이터를 하나 만들겠습니다. 세 카페의 음료별 판매량 데이터입니다. R에서 데이터를 열어봅시다. (경로는 여러분이 파일을 저장한 경로로 넣으셔야 됩니다.) library(readxl) dt dt coffee volume name 1 americano 494 starbucks 2 latte 455 starbucks 3 Espresso 476 starbucks 4 americano 461 hollys 5 latte 436 hollys 6 Espresso 144 hollys 7 americano 497 ediya 8 latte 483 ediya 9 Espresso 205 ediya 그래프를 그려봅.. 2021. 1. 16.
[R시각화] 조건부 산점도 그래프 (xyplot) lattice 패키지의 xyplot 함수를 이용하면 조건부 산점도 그래프를 그릴 수 있습니다. 조건부 산점도 그래프란 변수 X,Y,Z가 있을 때 한 변수의 범주(또는 수준 level)에 따른 나머지 두 변수의 산점도 그래프입니다. 예시를 통해 이해해봅시다. iris 데이터를 이용할 것입니다. 꽃의 종(Species) 별로 꽃받침 길이(Sepal.Length)와 꽃받침 너비(Sepal.Width)의 산점도 그래프를 그려봅시다. library("lattice") xyplot( Sepal.Length~Sepal.Width |Species, data=iris) 2021. 1. 2.
[R시각화] 조건부 분위수그림(qqmath) lattice패키지의 qqmath 함수를 이용하면 조건부 분위수 그림을 그릴 수 있습니다. 조건부 분위수 그림이란 어떤 변수 X와 Y가 있다면, Y의 범주(혹은 level) 별로 그려진 X의 분위수 그림입니다. 예를 들어봅시다. iris 데이터를 이용하겠습니다. 꽃의 종(species)별로 꽃받침(sepal) 길이의 분위수 그림을 그려봅시다. library("lattice") qqmath( ~ Sepal.Width |Species, data=iris) panel 옵션을 이용하면 정규분포를 따를 때의 직선을 함께 그릴 수 있습니다. library("lattice") qqmath( ~ Sepal.Width |Species, data=iris, panel = function(x) { panel.qqmathli.. 2021. 1. 2.
[R시각화] 조건부 커널밀도추정함수(KDE) 그래프 그리는 방법 (densityplot) lattice 패키지의 densityplot 함수를 이용하면 조건부 커널밀도추정함수를 그릴 수 있습니다. 커널밀도추정은 커널함수를 이용하여 밀도추정을 하는 것인데요. 커널함수와 밀도추정이 무엇인지 간단히 알아봅시다. 커널함수 : 원점을 중심, 대칭, 적분값이 1, non-negative인 함수 밀도추정 : 데이터들의 분포를 이용하여 변수의 분포를 추정하는 것. 변수의 확률밀도함수를 구하는 것. iris 데이터에 densityplot을 적용해봅시다. 꽃의 '종(species)' 별로 꽃받침 길이(Sepal.Length)의 커널밀도함수를 그려주는 것입니다. library("lattice") densityplot( ~ Sepal.Width |Species, data=iris) 설정할 수 있는 옵션들이 많이 있.. 2021. 1. 1.
[R시각화] 조건부 히스토그램 (histogram) 조건부 히스토그램은 어떤 변수 Y의 범주 별로 변수 X 히스토그램을 그려주는 함수입니다. iris 예제를 예로 들면 꽃의 '종(species)' 별로 꽃받침 길이(Sepal.Length)의 히스토그램을 그려주는 것입니다. lattice 패키지의 historgram 함수를 이용합니다. 패키지를 불러온 뒤 위 iris 예제를 직접 그려봅시다. histogram( ~Sepal.Width | Species, data = iris) 옵션이 상당히 많은데, 몇가지 중요한 옵션만 알아봅시다. 두가지 입니다. breaks : 간격 type = c("percent", "count", "density") : 타입(퍼센트, 개수, 밀도) 적용해서 그려봅시다. histogram( ~Sepal.Width | Species, d.. 2021. 1. 1.
[R시각화] 조건에 따른 그래프를 출력하는 coplot 함수, 매우 유용함 coplot 함수는 조건에 따른 그래프를 출력해줍니다. 조건에 따른 그래프라고 하면 무슨 말인지 잘 이해가 되지 않을테니 예제를 통해 이해해봅시다. 예제에 사용할 데이터는 quakes 라는 데이터입니다. 피지에서 지진이 발생할 때 마다 기록한 정보입니다. lat은 위도, long은 경도, depth는 깊이, mag는 리히터 규모, stations은 관측소 수 입니다. > str(quakes) 'data.frame':1000 obs. of 5 variables: $ lat : num -20.4 -20.6 -26 -18 -20.4 ... $ long : num 182 181 184 182 182 ... $ depth : int 562 650 42 626 649 195 82 194 211 622 ... $ m.. 2020. 12. 31.
[R시각화] 색 투명도 설정하는 방법 색은 보통 그래프에 사용됩니다. 그래프 함수나 점,직선 함수 안에 col 옵션을 설정하는데요. col 옵션의 입력값으로 adjustcolor 함수값을 사용하면 됩니다. col=adjustcolor("red",alpha=0.5) alpha 는 투명도입니다. 0에 가까울 수록 투명합니다. col1=adjustcolor("red",alpha=0) col2=adjustcolor("red",alpha=0.25) col3=adjustcolor("red",alpha=0.5) col4=adjustcolor("red",alpha=0.75) col5=adjustcolor("red",alpha=1) plot(1:5,rep(1,5),cex=7,xlim=c(0,6),pch=16,col=c(col1,col2,col3,col4,c.. 2020. 12. 31.
[R시각화] 산점도의 테두리 영역을 지정하는 chull 함수 chull 함수는 입력된 산점도 데이터에서 convex hull을 형성하는 점들의 index를 출력해줍니다. 쉽게 말하면 테두리입니다. 먼저 산점도 데이터가지고 그래프를 하나 그려봅시다. iris 데이터를 이용하겠습니다. x=iris$Sepal.Length y=iris$Sepal.Width plot(x,y,xlab="sepal length",ylab="sepal width") 이 데이터에 chull 함수를 적용해봅시다. 테두리 점들의 index 입니다. > chull(x,y) [1] 119 69 61 42 14 23 33 16 132 위 index를 이용하여 테두리가 추가된 그래프를 그려봅시다. x=iris$Sepal.Length y=iris$Sepal.Width plot(x,y,xlab="sepal l.. 2020. 12. 31.
[R시각화] 모집단 평균, 기각역 표시된 정규분포 그래프 그리기 모집단의 평균(mu0), 임계값(z*), 우리가 뽑은 표본의 평균(bar_X) 가 표시된 그래프입니다. #표준정규분포 그래프 x=seq(-4,4,by=0.01) y=dnorm(x) plot(x,y,type="l",ann=FALSE,axes=FALSE) #임계값 설정(기각역) margin=qnorm(0.95) #축 및 값 추가, pos=c(0,0) 으로 설정해야 축과 그래프 사이 간격 없어짐 axis(1,at=c(-4,0,margin,qnorm(0.99),4), pos=c(0,0), label=c("",expression(mu[0]),expression(z^"*"),expression(bar(x)[0]),"")) #색칠을 위한 값 설정 x_margin=seq(margin,4,by=0.01) y_margin.. 2020. 12. 31.
[R시각화] 색 팔레트를 만들어주는 colorRampPalette 함수 colorRampPalette 는 입력한 색을 보간하여 원하는 수의 색팔레트를 출력해줍니다. 값으로 함수를 반환하기 때문에, 반환된 함수에 다시 값을 입력해줘야 합니다. 아래는 예시입니다. 흰색과 빨간색 사이를 5개로 나누고 색 팔레트로 출력하였습니다. > colorRampPalette(c("white","red"))(5) [1] "#FFFFFF" "#FFBFBF" "#FF7F7F" "#FF3F3F" "#FF0000" 원그래프를 이용하여 색을 확인해봅시다. par(mar=c(2,2,2,2)) pltte1=colorRampPalette(c("white","red"))(5) pie(rep(1,5),col=pltte1) 색은 2개 이상도 입력 가능합니다. 아래와 같습니다. par(mar=c(2,2,2,2)) .. 2020. 12. 31.
[R시각화] 노이즈를 발생시키는 jitter함수 jitter 함수는 입력 값에서 노이즈를 발생시킵니다. 아래는 간단한 예시입니다. factor 옵션을 이용하여 강도를 조절할 수도 있습니다. > x=1:5 > jitter(x) [1] 1.1837416601367294 [2] 1.8277301006950437 [3] 3.0211889690719547 [4] 4.0621753104031084 [5] 5.0300368266180158 그래프를 이용하여 jitter 함수 적용 전후를 비교해봅시다. par(mfrow=c(1,2)) x=seq(0,10,len=30) y=rep(1,length(x)) plot(x,y) plot(x,jitter(y)) 이번에는 옵션인 factor를 변경하고 비교해봅시다. 디폴트 값은 1입니다. x=seq(0,10,len=30) y=r.. 2020. 12. 30.
[R시각화] 데이터의 위치를 눈금으로 표시 rug 함수를 이용하면 데이터의 위치를 눈금으로 표시해줍니다. 점들을 부드러운 곡선으로 연결한 경우, rug 함수를 적용하면 어느 영역에 데이터가 몰려 있는지를 한눈에 알 수 있습니다. > x=c(1,2,3,4,10,11,12,20,21,22) > y=1:10 > plot(x,y,type='l') > rug(x) 2020. 12. 30.
[ R시각화] 바로 가져다 쓰는 범례(legend) 1. 범례를 색으로 구분 x 2020. 12. 30.
[R시각화] 그래프의 제목을 추가해주는 title 함수 title 함수는 그래프에 제목을 추가해줍니다. 그래프 제목은 plot(), barplot() 등의 고수준함수 안에도 옵션으로 설정할 수 있습니다. title 함수는 저수준함수로, 그래프가 그려진 상태에서만 사용이 가능합니다. 고수준함수에 제목 옵션이 설정된 경우에 title 함수로 제목을 입력하면 두 제목이 중첩되어 보이게 됩니다. title 함수에서는 네가지 제목을 설정할 수 있습니다. main : 그래프 제목 sub : 부제목 xlab : x축 이름 ylab : y축 이름 아래는 예시입니다. ann=FALSE로 설정하여 자동으로 설정되는 x,y축 이름을 제거해줍니다. > plot(iris$Sepal.Length,ann=FALSE) > title(main="IRIS graph",sub="sepal l.. 2020. 12. 30.
[R시각화] 마우스로 선택한 점을 추가해주는 locator 함수 locator 함수는 마우스로 선택한 점을 추가해줍니다. locator() 라고 명령창에 입력한 뒤에, 그래프에서 원하는 위치를 선택합니다. 복수 선택도 가능합니다. 선택이 완료되면 Esc 키를 누릅니다. 명령창에 선택한 점이 출력됩니다. 빈 그래프를 하나 그려봅시다. > plot(0,xlim=c(0,10),ylim=c(0,10),type="n") 명령창에 locator() 를 입력합니다. 꼭 괄호를 함께 입력해야 합니다. 화면을 클릭합니다. 선택이 끝나면 Esc를 누릅니다. 아래와 같이 점이 출력됩니다. > locator() $x [1] 1.753678 3.151906 3.151906 4.914890 7.042630 $y [1] 6.613469 3.668248 3.668248 6.677496 3.604.. 2020. 12. 30.
[R 시각화] 클리브랜드 점 그래프 (유용한데 한마디로 설명하기가...) 클리브랜드 점 그래프는 한마디로 설명하기가 참 애매합니다. 예시를 통해 이해해봅시다. 간단하게 이해하실 수 있습니다. 5사람의 수학점수로 행렬을 만들어봅시다. 5사람의 이름은 행렬 행 이름에 넣어야 합니다. #점수와 이름 > math_score=c(88,75,62,91,100,48) > names=c("tim","marry","kate","john","kim","park") #행렬생성 > m=matrix(math_score) #행렬 열이름,행이름 > rownames(m)=names > colnames(m)="math_score" > m score tim 88 marry 75 kate 62 john 91 kim 100 park 48 이 행렬로 클리브랜드 점 그래프를 그려봅시다. > dotchart(m) 그.. 2020. 12. 27.
[R시각화] 저수준과 고수준함수 설명 R의 시각화에는 사용되는 함수들은 고수준함수, 저수준함수로 나뉩니다. 고수준함수는 완성된 그래프를 제공하는 함수들입니다. 예를들면 plot 함수가 있습니다. > plot(1:10,main="my graph") 저수준함수는 고수준함수가 그려진 상태에서 제목, x축이름, 눈금간격, 텍스트, 도형 등을 추가할 때 사용하는 함수입니다. 고수준함수의 '옵션'과 저수준함수의 역할이 중복되는 경우가 많습니다. 예를들어 위 그래프는 옵션대신 저수준함수를 사용하여 그릴 수도 있습니다. > plot(1:10) > title(main="my graph2") 2020. 12. 26.
[R 시각화] 산점도 제목,축이름,눈금이름 크기변경 산점도 그래프에서 제목,축이름,눈금이름의 크기를 변경하는 방법은 크게 세가지가 있습니다. 1) plot 그래프에 옵션 설정 2) 저수준함수 title, axis 이용 3) 그래픽 파라미터 일괄 변경 (par 함수) 이 글에서는 1번의 경우를 다룹니다. 제목,축이름,눈금이름 크기를 변경할 때, plot 함수에 입력하는 옵션은 아래와 같습니다. 제목 크기 : cex.main 축 이름 크기 : cex.lab 눈금 이름 크기 : cex.axis 아래는 예시입니다. plot(1:10,main="my graph",xlab="X",ylab="Y", cex.main=1.5,cex.lab=1.7,cex.axis=2) 2020. 12. 23.
[R 시각화] 설정할 수 있는 모든 그래픽 파라미터 보는 법 (par함수) 아래 코드를 입력합니다. > par() $xlog [1] FALSE $ylog [1] FALSE $adj [1] 0.5 $ann [1] TRUE $ask [1] FALSE $bg [1] "white" $bty [1] "o" $cex [1] 0.66 $cex.axis [1] 1 $cex.lab [1] 1 $cex.main [1] 1.2 $cex.sub [1] 1 $cin [1] 0.15 0.20 $col [1] "black" $col.axis [1] "black" $col.lab [1] "black" $col.main [1] "black" $col.sub [1] "black" $cra [1] 14.4 19.2 $crt [1] 0 $csi [1] 0.132 $cxy [1] 0.2242266 0.1370196.. 2020. 12. 22.
반응형