본문 바로가기
반응형

R76

[R시각화] 선을 그려주는 lines 함수 line 함수는 그래프에 선을 추가해야 하는 경우에 사용하는 함수입니다. 단독으로 사용할 수는 없고 그래프가 하나 그려져 있어야 합니다. 아래와 같은 형식으로 사용합니다. lines(c(x좌표들),c(y좌표들)) 아래는 예시입니다. > plot(0,xlim=c(0,10),ylim=c(0,10),type="n") > lines(c(1,5),c(2,7)) 선색, 두께, 스타일을 설정해봅시다. col은 색, lwd는 두께, lty는 스타일입니다. lty 옵션은 아래와 같습니다. 선의 형태 0 : blank 1 : solid 2 : dashed 3 : dotted 4 : dotdash 5 : longdash 6 : twodash 옵션을 적용하여 그래프를 그려봅시다. > plot(0,xlim=c(0,10),yli.. 2020. 12. 29.
[R시각화] 자동으로 색 설정해주는 함수 모음 간단한 사용 rainbow(n) heat.colors(n) terrain.colors(n) topo.colors(n) cm.colors(n) rainbow 함수 rainbow(n, s = 1, v = 1, start = 0, end = max(1, n - 1)/n, alpha = 1) HSV라고 색을 표현하는 방식이 있습니다. 변수가 3개라 색 공간이라고도 하는데, H는 색상 S는 채도 V는 명도입니다. rainbow에서는 H인 색상이 n개 지정되고, 채도와 명도를 s와 v라는 옵션으로 입력할 수 있습니다. s가 1에 가까울수록 색이 선명해지고 0에 가까울 수록 엷어집니다. v는 1에 가까울 수록 밝아지고 0에 가까울수록 색이 어두워집니다. alpha는 투명도입니다. s : 채도 v : 명도 alpha .. 2020. 12. 29.
[R시각화] 그래프 공통 옵션 plot(), hist(), boxplot() 등의 고수준 함수에 설정할 수 있는 옵션들입니다. 그래픽관련 옵션 말고 비그래픽 옵션들만 정리하였습니다. 모든 고수준 그래프에 적용하는 옵션 옵션 설명 xlim=c(min,max) x축 최댓값과 최솟값 설정 ylim=c(min,max) y축 최댓값과 최솟값 설정 main="제목" 제목 입력 sub="부제목" 부제목 입력 xlab="x축 이름" x축 이름 입력 ylab="y축 이름" y축 이름 입력 cex.main=1.2 제목 크기 cex.lab=1 축 이름 크기 cex.axis=1 눈금 이름 크기 axes=TRUE or FALSE 축 보이기, 숨기기 add=FALSE or TRUE TRUE일 경우 다른 그래프에 겹쳐그림 asp 축의 가로 세로 비율 las 축.. 2020. 12. 26.
[R 시각화] 시간의 흐름에 따른 순위 변화를 알 수 있는 slope 그래프 아래가 slope 그래프입니다. 오늘 예시로 그려볼 그래프입니다. 5년 간격으로 총 20년 동안의 암 생존율을 나타냅니다. 각 암들의 생존율이 어떻게 변하는지 한눈에 알아볼 수 있습니다. CGPfunctions 패키지의 newggslopegraph 함수를 사용합니다. newcancer 라는 데이터도 CGPfunctions 패키지에서 제공합니다. tidyr 과 dplyr 패키지에 물려서 사용하기 때문에 두 패키지도 필요합니다. 사용 방법은 간단합니다. library(CGPfunctions) library(tidyr) library(dplyr) newggslopegraph(newcancer,Year,Survival,Type) 2020. 12. 23.
[R시각화] 함수와 범위를 입력하면 그래프를 그려주는 curve 함수 curve함수를 이용하면 함수의 그래프를 쉽게 그릴 수 있습니다. 아래는 예시입니다. curve(sin,-pi,pi,n=100) 아래는 입력형식입니다. curve(함수 혹은 수식,from,to,n) 2020. 12. 23.
[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시각화] 여러 그래프 타이틀,축이름,눈금이름 크기 일괄변경하기 boxplot 을 여러개 그린 상황을 가정합시다. 아래와 같습니다. par(mfrow=c(2,2)) boxplot(Sepal.Length~Species,iris,main="Sepal Length") boxplot(Sepal.Width~Species,iris,main="Sapel Width") boxplot(Petal.Length~Species,iris,main="Petal Length") boxplot(Petal.Width~Species,iris,main="Petall Width") 그래프의 제목,축이름,눈금이름의 크기를 조절하고 싶습니다. 각 그래프마다 옵션을 입력해주는 것이 귀찮을 수 있습니다. 이런 경우 그래픽파라미터를 일괄 변경하는 par 함수를 사용합니다. #제목 크기 변경 par(cex.mai.. 2020. 12. 23.
[R 시각화] 현재 여백(margin) 값 확인하는 방법 inner margin 확인 > par()$mar [1] 5.1 4.1 4.1 2.1 outer margin 확인 > par()$oma [1] 0 0 0 0 2020. 12. 22.
[R 시각화] 그룹형 막대그래프 그리는 방법 행렬을 하나 정의해봅시다. 세 사람의 수학,영어, 과학 성적입니다. Tim = c(67,68,39) Marry = c(65,36,20) Kate = c(88,90,45) dt=cbind(Tim,Marry,Kate) rownames(dt)=c("Math","English","Science") 데이터를 확인해봅시다. > dt Tim Marry Kate Math 67 65 88 English 68 36 90 Science 39 20 45 barplot 을 적용합시다. beside 를 TRUE로 설정해야 그룹형 막대그래프가 그려집니다. 열이 하나의 그룹이 되고, 각 열의 행은 그룹에 속한 막대가 됩니다. barplot(dt,beside=TRUE) 색을 지정해봅시다. col 옵션을 사용합니다. 범례가 들어갈 자리.. 2020. 12. 22.
[R 시각화] 그래프 밖에 화살표 추가하는 방법 arrow 함수를 이용하여 그래프 밖에 화살표를 추가할 때는 xpd 옵션을 TRUE로 설정하면 됩니다. 예시는 아래와 같습니다. df=30 alpha=0.05 x=seq(-5,5,0.1) y=dt(x,df) plot(x,y,'l') xp=seq(qt(1-alpha,df),10,0.1) yp=dt(xp,df) polygon(c(xp,rev(xp)),c(rep(0,length(xp)),rev(yp)),col="blue") title(main=paste(df,"자유도 t분포")) arrows(qt(1-alpha,df),-0.035,qt(1-alpha,df),par("usr")[3],xpd=TRUE,length=0.13,lwd=2,col="red") #그래프 밖에 화살표 추가 text(qt(1-alpha,df).. 2020. 12. 18.
[R 시각화] 그래프에 화살표 추가하는 방법 그래프에 화살표를 추가할 때는 arrows 함수를 사용합니다. 기본 형식은 아래와 같습니다. arrows(x0, y0, x1, y1) x0,y0 : 시작점 x1,y1 : 끝점 그래프를 그리고 화살표를 추가해봅시다. plot(1:3,1:3) arrows(1,2,2,2.5) ㅁ몇가지 꾸미기 옵션은 아래와 같습니다. length : 화살길이 angle : 화살각도 col : 화살 색 code : 화살표 방향 (0:없음, 1:시작에서끝, 2: 끝에서시작, 3:양쪽화살표) lty : 선 스타일 lwd : 선두께 꾸미기 옵션을 사용하여 화살표를 그려봅시다 . plot(1:3,1:3) arrows(1,2,2,2.5,length=0.5,angle=50,col="red",lty=2) 2020. 12. 17.
[R 시각화] 그래프 눈금 색, 눈금 값의 색 변경 (axis함수 사용) 눈금과 눈금값의 색을 변경할 때는 아래 옵션을 사용합니다. plot 함수 안에 정의할 수도 있고, axis 라는 저수준함수를 사용할 수도 있습니다. 이 글은 axis 함수를 사용하는 방법입니다. axis 함수를 사용할 경우 x축과 y축 옵션을 각각 설정할 수 있습니다. 눈금 색 변경 col.ticks="red 눈금 값의 색 변경 col.axis="red" 예를들어봅시다. 그래프를 하나 그려봅시다. plot(1:3,1:3) 눈금 색과 눈금 값 색을 변경해봅시다. plot(1:3,1:3) #side1은 아래, 즉 x축을 의미합니다. axis(side=1,col.axis="red",col.ticks='green') #side2은 왼쪽, 즉 y축을 의미합니다. axis(side=2,col.axis="cyan",.. 2020. 12. 17.
[R 시각화] 그래프 눈금 색, 눈금 값 색 변경 (plot함수 안에 정의) 눈금과 눈금값의 색을 변경할 때는 아래 옵션을 사용합니다. plot 함수 안에 정의할 수도 있고, axis 라는 저수준함수를 사용할 수도 있습니다. 이 글은 plot 함수 안에 정의하는 방법입니다. 눈금 색 변경 옵션 col.ticks 눈금 값 색 변경 옵션 col.axis 예를들어봅시다. 그래프를 하나 그려봅시다. plot(1:3,1:3) 눈금 색과 눈금 값 색을 변경해봅시다. plot(1:3,1:3,col.axis="red",col.ticks='green') 2020. 12. 17.
[R 시각화] 산점도 점에 번호 붙이는 방법 산점도 그래프에 있는 점에 번호를 붙이는 방법입니다. text 함수를 이용합니다. 아래는 설정한 옵션입니다. text(x좌표,y좌표,labels=번호,pos=위치,cex=크기) 그래프를 그려봅시다. set.seed(2020) x=rnorm(30) y=rnorm(30) plot(x,y) text(x,y,labels=1:30,pos=1,cex=0.8) pos 옵션 값의 역할은 아래와 같습니다. 1 : 하 2 : 좌 3 : 상 4 : 우 pos를 바꿔가며 그래프를 그려봅시다. set.seed(2020) x=rnorm(30) y=rnorm(30) par(mfrow=c(2,2)) for (i in 1:4){ plot(x,y) title(main=paste("pos=",i)) text(x,y,labels=1:30,.. 2020. 12. 17.
[R 시각화] 막대그래프 x축 눈금, y축 눈금 크기 변경 1. 막대그래프 그리기 volume=c(500,600,200) names=c("americano","latte","chocolate") barplot(volume,names=names) 2. x축 눈금 크기 변경 cex.names 옵션을 사용합니다. mb=barplot(volume,names=names,cex.names=1.4) 3. y축 눈금 크기 변경 cex.axis 옵션을 사용합니다. mb=barplot(volume,names=names,cex.axis=1.5) 2020. 12. 16.
[R 시각화] 막대그래프 x축 눈금이름 회전하기 막대그래프를 하나 그려봅시다. volume=c(500,600,200) names=c("americano","latte","chocolate") barplot(volume,names=names) 90도 단위로 회전 las 옵션을 이용하면 90도 단위로는 회전이 가능합니다. las 옵션을 사용합니다. barplot(volume,names=names,angle=90,las=2) 임의의 각도로 회전 임의의 각도로 회전하려면 text 함수를 이용하면 됩니다. xpd 는 plot region 밖으로 나갈 수 있는지 여부를 결정하는 옵션입니다. adj=1 은 오른쪽 정렬입니다. srt가 각도입니다. volume=c(500,600,200) names=c("americano","latte","chocolate") mb=.. 2020. 12. 16.
[R 시각화] 팩토리얼, 감마 함수 그래프 팩토리얼 함수를 산점도로, 감마함수를 선으로 그린 그래프입니다. 범위 수정을 원하면 x와 x_g를 수정해주면 됩니다. x=1:5 y=factorial(x-1) plot(x,y,main="Factorial function",cex.main=1.5,pch=16,col="red") x_g=seq(1,5,0.02) y_g=gamma(x_g) lines(x_g,y_g) 2020. 12. 14.
[R 시각화] 다변량 시계열 그래프 그리기 다변량 시계열을 생성하고 그래프를 그려봅시다. 다변량시계열은 ts 함수에 행렬을 입력하여 생성합니다. 먼저 행렬을 생성합시다. > mat=matrix(rnorm(30),10,3) > mat [,1] [,2] [,3] [1,] -0.176291735 0.3323575 -0.6542597 [2,] -0.928060332 -0.5374235 0.7382477 [3,] -0.003182761 1.7133234 0.9095766 [4,] 1.459855751 -1.0273686 1.7733747 [5,] 0.057111027 -2.1042541 0.7851097 [6,] -0.411653367 0.5216750 1.4261827 [7,] -0.381249441 -1.0180405 -1.0944751 [8,] -0.. 2020. 12. 13.
R 역 누적분포 히스토그램 R 역 누적분포 히스토그램 일반적인 누적분포를 계산하는 방법은 아래와 같습니다. data=c(1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,6) 간격을 1로 설정하면 계급과 도수는 아래와 같습니다. 누적도수의 경우 간격을 1로 설정해야 그래프를 그리기가 수월합니다. 0-1 : 11-2 : 22-3 : 33-4 : 44-5 : 55-6 : 6 누적도수로 나타내면 아래와 같습니다. 0-1 : 11-2 : 32-3 : 63-4 : 104-5 : 155-6 : 21 여기서 말하는 '역'누적분포는 아래와 같습니다. 0-1 : 211-2 : 202-3 : 183-4 : 154-5 : 115-6 : 6 누적도수가 앞에서 부터의 누적이라면, 역누적도수는 뒤에서부터의 누적입니다. 아래의 절차로 .. 2020. 12. 8.
R 밀도(density) 히스토그램 R에서 밀도(density) 히스토그램을 그리는 방법입니다. 히스토그램을 그릴 때 옵션에 freq를 FALSE로 바꿔주면 됩니다. 아래는 예시입니다. > data=c(1,2,2,3,3,3,4,4,4,4,5,5,5,5,5) > hist(data,freq=FALSE) y축 범위도 설정해봅시다. > hist(data,freq=FALSE,ylim=c(0,0.5)) 2020. 12. 8.
R 히스토그램에서 구간은 미만일까 이하일까. R 히스토그램에서 구간은 미만일까 이하일까. R 히스토그램을 그릴 때, 구간을 아래와 같이 나눴다고 해봅시다. 0~22~44~66~8 이때 구간의 부등호는 어떻게 될까요? 이상일까요 초과일까요, 이하일까요 미만일까요? 한번 확인해봅시다. 데이터 벡터를 만들겠습니다. 각 숫자별 숫자의 개수만큼의 원소가 있습니다. data=c(0,1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,6,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8) 히스토그램을 그려봅시다. > myhist=hist(data,breaks=seq(0,8,by=2))> myhist$breaks[1] 0 2 4 6 8 $counts[1] 4 7 11 15 각 계급의 도수는 아래와 같습니다. 0~2 : 42~4 : 74~6.. 2020. 12. 8.
[R] 텍스트 사이즈, 폰트 설정 방법 [R] 텍스트 사이즈, 폰트 설정 방법 텍스트 사이즈 텍스트 사이즈는 폰트사이즈와 cex의 곱입니다. cex는 character expansion 입니다. 폰트사이즈는 디폴트(1/72inch)이고, cex를 설정하여 텍스트 사이즈를 조절합니다. 실제 출력되는 폰트 사이즈는 ps와 cex의 곱입니다. ex) text(1,1,"hi",cex=1.2) 텍스트 폰트 font 옵션을 이용합니다. 번호를 입력하면 됩니다. 1=plain, 2=bold, 3=italic, 4=bold-italic ex) text(1,1,'hi',cex=1.2,font=2) 2020. 10. 29.
R에서 제공하는 컬러팔레트 패키지 RColorBrewer R에서 제공하는 컬러팔레트 패키지 RColorBrewer 패키지를 설치합니다. > install.packages("RColorBrewer") 패키지를 불러옵니다. library(RColorBrewer) 패키지 도움말을 열어서 어떤 함수가 있는지 확인합니다. > help(package="RColorBrewer") RColorBrewer 패키지에서 제공하는 색들은 brewer.all() 함수를 입력하면 확인할 수 있습니다. > display.brewer.all() 색을 불러올 때는 brewer.pal함수를 이용합니다. 아래와 같은 형식으로 사용합니다. 위 그림에서 팔레트 이름을 알 수 있습니다. brewer.pal(색의 수, 팔레트 이름) Set3 팔레트에서 5개 색을 가져와봅시다. > mycol=brewe.. 2020. 10. 6.
R 선그래프에서 선의 두께(lwd) 설정 방법 R 선그래프에서 선의 두께(lwd) 설정 방법 선의 두께는 lwd 옵션을 이용합니다. line width 라는 뜻입니다. 디폴트 값은 1입니다. 아래와 같이 l(line) 타입과 함께 사용합니다. x=c(0,3)y=c(1,4)plot(x,y,type="l",lwd=5) 2020. 9. 28.
[R 시각화] x축 이름, 또는 y축 이름만 없애는 방법 [R 시각화] x축 이름, 또는 y축 이름만 없애는 방법 x축 이름과 y축 이름을 둘다 숨기는 방법은 그래프 함수 안에 옵션으로 ann=FALSE 를 설정하는 것입니다. 그런데 이렇게 하면 x축과 y축 이름이 둘다 사라집니다. 둘 중 하나만 남기고 싶은 경우가 있는데요. 그럴 경우 사용하는 방법입니다. 1) x축 이름만 남기고 싶은 경우 산점도(plot)을 예로 들겠습니다. x=c(1,2,3)y=c(3,3,3) plot(x,y) x,y레이블을 없애려면 ann=FALSE 옵션을 설정해주면 됩니다. plot(x,y,ann=FALSE) x레이블은 아래와 같이 추가합니다. mtext는 margin text 함수입니다. margin 에 text를 추가해줍니다. mtext("xlabel", side = 1, lin.. 2020. 9. 18.
[R 시각화] 그래프의 점 옆에 좌표 표시하기 [R 시각화] 그래프의 점 옆에 좌표 표시하기 먼저 그래프에 점을 찍어봅시다. x=c(1,2,3)y=c(1,2,3) plot(x,y,xlim=c(0,5),ylim=c(0,5)) text 함수를 이용하여 점의 좌표를 표시합시다. 텍스트가 표시될 위치의 좌표를 먼저 입력하고, 나타내기 원하는 문장을 입력합니다. (1,1)을 나타낼 것입니다. text(x[1],y[1],"(1,1)") 점과 입력문장이 겹친다는 문제가 있습니다. 위치를 미세하게 조정하는 방법도 있지만, pos 옵션을 이용하면 간단히 해결됩니다. text(x[1],y[1],"(1,1)",pos=1) pos 뒤에 입력된 숫자는 위치를 의미합니다. 1,2,3,4는 하,좌,상,우 입니다. 위 그림 코드 plot(1,1,xlim=c(0,2),ylim=c.. 2020. 8. 26.
[R 시각화] 3차원 산점도 그리는 방법 [R 시각화] 3차원 산점도 그리는 방법 scatterplot3d 는 3차원 산점도를 그리는 함수입니다. 먼저 라이브러리를 설치합니다. install.library("scatterplot3d") 라이브러리를 불러오고, 간단한 사용방법을 알아보겠습니다. 점 세개를 정의하고 그래프로 그려봅시다. library(scatterplot3d) x=c(1,2,3)y=c(4,5,6)z=c(2,4,2) scatterplot3d(x,y, xlim=c(0,10), ylim=c(0,10), zlim=c(0,5), xlab="X label", ylab="Y label", zlab="Z label", main="My plot", cex.main=2, cex.lab=1.5, color="red", pch=19, angle=40 ).. 2020. 8. 6.
[R 그래프] 히스토그램에 빈도값 추가하기 [R 그래프] 히스토그램에 빈도값 추가하기 먼저 히스토그램을 하나 그립시다. #data생성 set.seed(1) data=rnorm(100,170,5) #x축 최대,최솟값 확인 summary(data) #히스토그램 그리기 a=hist(data ,breaks=seq(150,190,by=2) ,col="red" ,main="my histogram" ,xlab="height(cm)" ,axes=FALSE) #y축 최댓값 max(a$counts) #축 설정 x_axis_tick=seq(150,190,by=2) axis(side=1,at=x_axis_tick) y_axis_tick=seq(0,max(a$counts),by=2) axis(side=2,at=y_axis_tick)#범례 설정 legend("toprig.. 2020. 8. 3.
[R 시각화] 축 레이블 회전하기 [R 시각화] 축 레이블 회전하기 las 옵션을 사용합니다. plot 안에 설정할 수도 있고, axis 함수로 축을 설정한 경우 axis 함수 안에도 설정할 수 있습니다. 0 : 축에 평행 1 : 수평방향 2 : 축에 직각 3 : 수직방향 par(mfrow=c(2,2)) for (i in 0:3) { x=c(1,2,3) y=c(5,4,5) plot(x,y,las=i) title(main=paste("las=",i)) } 2020. 8. 1.
R 축이름에 각도 기호 입력하는 방법 R 축이름에 각도 기호 입력하는 방법 expression 함수를 사용합니다. expression(degree) 라고 입력하면 각도 기호가 입력됩니다. plot(1:2,1:2,ann=FALSE)title(xlab=expression(degree),cex.lab=2) 다른 문자와 함께 사용하려면 paste 함수를 이용하여 다른 문자와 합치고, paste 함수 밖에 expression 함수를 적용하면 됩니다. plot(1:2,1:2,ann=FALSE)title(xlab=expression(paste("degree (",degree,")")),cex.lab=2) 2020. 6. 11.
반응형