[R 그래프] 여러 집단의 전후변화 비교 막대그래프
library(lsr) #데이터 dt1=c(1,2,3,4,5,6,7,8,9,10) dt2=c(1,2,3,4,5,6,7,8,9,100) #통계량계산(중앙값절대편차, 평균절대편차, 표준편차) dt_dev=c(mad(dt1),mad(dt2),aad(dt1),aad(dt2),sd(dt1),sd(dt2)) names(dt_dev)=rep(c("dt1","dt2"),3) #벡터 원소이름지정 barplot(dt_dev,beside=TRUE,col=c("red","red","blue","blue","green","green")) legend("topleft",legend=c("MAD","AAD","SD"),fill=c("red","blue","green"),border="white",cex=1.2)
2021. 10. 19.
[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에서 신뢰구간을 정규분포에 색칠하기
아래는 코드입니다. 95% 신뢰구간입니다. #표준정규분포 그래프 x=seq(-4,4,by=0.01) y=dnorm(x) plot(x,y,type="l",ann=FALSE,axes=FALSE) #임계값 설정(기각역) #99%로 할 경우 0.995 입력 margin=qnorm(0.975) #축 및 값 추가, pos=c(0,0) 으로 설정해야 축과 그래프 사이 간격 없어짐 #mgp 는 tick 과 tick label 사이의 간격임 mgp=c(3, 2, 0) #padj=1 이 나은듯. 윗선이 맞춰짐 #99%로 할 경우 2.58로 수정 axis(1,at=c(-4,-margin,0,margin,4), pos=c(0,0), label=c("",expression(-1.96* frac(sigma, sqrt(n))),e..
2021. 5. 21.
R그래프 축 눈금 원하는 간격으로 설정하기
코드는 아래와 같습니다. 설명은 주석으로 대신합니다. #데이터 x=c(1,2,3,4,5) y=c(1,2,3,4,5) # axes FALSE로 설정하여 축 눈금과 값 안나오게함 plot(x,y,xaxt="n",yaxt="n",xlim=c(0,10),ylim=c(0,10)) #간격 설정 xat=seq(0,10,by=0.5) yat=seq(0,10,by=2) #위에서 설정한 간격 이용하여 눈금 그리기 axis(side=1,at=xat) axis(side=2,at=yat)
2021. 3. 15.
R 그래프 화면 분할 (화면의 일부분에 그래프 그리기)
par 함수의 fig 값 입력하면 됩니다. 형식은 아래와 같습니다. par(fig=c(x1, x2, y1, y2)) 몇가지 입력 예시를 통해 이해해봅시다. (0,1,0,1) 화면 전체 사용 par(fig=c(0,1,0,1)) plot(1:10) box(col="red") box("figure", col="green") box("outer", col="blue") (0,0.5,0,1) 가로 50%, 세로 100% 사용 par(fig=c(0,0.5,0,1)) plot(1:10) box(col="red") box("figure", col="green") box("outer", col="blue") (0.2,0.5,0,1) 가로 20%지점부터 30%만큼 사용, 세로 100% 사용 par(fig=c(0.2,0.5..
2021. 1. 30.
[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시각화] 모집단 평균, 기각역 표시된 정규분포 그래프 그리기
모집단의 평균(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시각화] 점의 밀도를 시각화해주는 smoothScatter 함수
smoothScatter 함수는 점의 밀도를 시각화해줍니다. 점이 많이 모여있는 곳은 진한 색으로, 그렇지 않은 곳은 흐린 색으로 시각화합니다. 산점도 그래프 plot 처럼, 점 데이터를 입력해주면 됩니다. 예를 들어봅시다. 옵션을 적용한 경우도 출력하였습니다. par(mfrow=c(2,2)) par(mar=c(2,2,2,2)) #산점도 plot(iris$Sepal.Length) #밀도그래프, 옵션 미적용 smoothScatter(iris$Sepal.Length) #nrpoint 옵션 적용. 출력될 점의 수, 낮은 밀도부터 출력 smoothScatter(iris$Sepal.Length,nrpoint=0) #색 설정, colorRampPalette 사용해야함. mypltt
2020. 12. 31.
[R시각화] 사각형을 입력하는 rect 함수
rect 함수는 그래프에 사각형을 추가합니다. 아래와 같은 형식으로 사용합니다. rect(xleft, ybottom, xright, ytop) 네개의 직선을 긋고 만들어지는 사각형이라고 생각하면 됩니다. xleft는 왼쪽 세로선, ybottom은 아래 가로선, xright은 오른쪽 세로선, ytop은 위 가로선입니다. 아래는 예시입니다. plot(0,xlim=c(0,10),ylim=c(0,10),type="n") rect(3,5,1,2) 옵션 기능 density = NULL 빗금으로 채우기 angle = 45 빗금 각도 col = NA 채우기 색 border = NULL 테두리색 lty = par("lty") 선 스타일 0 : blank 1 : solid 2 : dashed 3 : dotted 4 : d..
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시각화] 마진(margin)에 텍스트 추가해주는 mtext함수
먼저 마진이 어딘지를 확인해봅시다. par(mar=c(5,5,5,5),oma=c(3,3,3,3)) plot(0,xlim=c(0,10),ylim=c(0,10),type="n") box(col="red") box("figure", col="green") box("outer", col="blue") 두개의 마진이 있습니다. 파란상자와 초록상자 사이 공간이 내부마진이고, 초록상자와 파란상자 사이 공간이 외부마진입니다. 내부마진을 그냥 '마진'이라고 부르기도 합니다. 마진에 글을 추가할 때는 mtext 함수를 사용합니다. 아래와 같은 형식으로 입력합니다. mtext(text, side = 3, line = 0, outer = FALSE, at = NA, adj = NA, padj = NA, cex = NA, co..
2020. 12. 30.
[R시각화] 현재 그래프의 여백(margin)을 눈으로 확인 방법
그래프가 그려진 상태에서 아래 코드를 입력하면 됩니다. box(col="red") box("figure", col="green") box("outer", col="blue") 각각 어떤 의미인지는 아래 그래프를 보시면 알 수 있습니다. par(mar=c(2,2,2,2),oma=c(2,2,2,2)) plot(0,xlim=c(0,10),ylim=c(0,10),type="n") box(col="red") box("figure", col="green") box("outer", col="blue")
2020. 12. 30.