[R시각화] 그래프에 점을 추가하는 points 함수
points 함수는 그래프에 점을 추가하는 함수입니다. 단독으로 사용할 수는 없고, 그려진 그래프가 있어야 합니다. 아래와 같은 형식으로 사용합니다. points(x좌표들, y좌표들) 아래는 예시입니다. > plot(0,xlim=c(0,10),ylim=c(0,10),type="n") > points(c(1,4,6),c(2,6,8)) 점에 적용하는 옵션은 아래와 같습니다. 옵션 설명 pch 점의 형태 (0~25 사이 숫자) 21~25 는 테두리와 내부 색 따로 설정 가능 cex=1 점의 크기 col 점 테두리 색 bg 점 채우기 색 옵션을 적용해봅시다. > plot(0,xlim=c(0,10),ylim=c(0,10),type="n") > points(c(1,4,6),c(2,6,8),pch=7,cex=2,co..
2020. 12. 30.
[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 시각화] 클리브랜드 점 그래프 (유용한데 한마디로 설명하기가...)
클리브랜드 점 그래프는 한마디로 설명하기가 참 애매합니다. 예시를 통해 이해해봅시다. 간단하게 이해하실 수 있습니다. 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시각화] 확률분포 함수 쉽게 그리는 방법 (curve 함수)
정규분포 함수를 그린다고 해봅시다. 정규분포의 확률밀도함수는 dnorm(x) 입니다. 먼저 plot 함수를 이용하여 그래프를 그려보겠습니다. 뒤에서는 curve함수를 이용할 것인데, 둘을 비교하면 curve함수가 얼마나 편한지 알게 되실 것입니다. plot 함수 이용 x=seq(-4,4,0.01) y=dnorm(x) plot(x,y,type="l",main="PDF of N(0,1)") curve 함수 이용 curve(dnorm(x),-4,4,main="PDF of N(0,1)")
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시각화] 여러 그래프 타이틀,축이름,눈금이름 크기 일괄변경하기
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 시각화] 그룹형 막대그래프 그리는 방법
행렬을 하나 정의해봅시다. 세 사람의 수학,영어, 과학 성적입니다. 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 시각화] 산점도 점에 번호 붙이는 방법
산점도 그래프에 있는 점에 번호를 붙이는 방법입니다. 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 화면분할하는 방법 (mfrow, 격자형태로 분할)
아래 코드를 입력합니다. par(mfrow=c(행의 수, 열의 수)) 예를들어 화면을 1행2열로 분할하여 그래프를 2개 그려봅시다. par(mfrow=(c(1,2))) plot(1:5,1:5,xlab="x",ylab="y",xlim=c(0,6),ylim=c(0,6)) plot(1:5,c(1,3,2,5,4),xlab="x",ylab="y",xlim=c(0,6),ylim=c(0,6))
2020. 12. 11.
R 히스토그램 x축, y축 눈금 설정하기
R 히스토그램 x축, y축 눈금 설정하기 오늘 코드 모아보기 #breaks 설정 brks=seq(4,8,0.2) #hist 그리기(제목,축이름,눈금 없음) hist(iris$Sepal.Length, breaks=brks, ann=FALSE,axes=FALSE,xlim=c(2,10),ylim=c(0,22)) #x축 눈금 추가 axis(side=1,at=seq(2,10,1)) #y축 눈금 추가 axis(side=2,at=seq(0,20,2)) #제목 추가 title(main="my histogram",xlab="Sepal Length",ylab="빈도") 따라하기 내장데이터인 iris 의 Sepal.Length 로 히스토그램을 그리겠습니다. 먼저 x값 범위를 알기 위해 최댓값과 최솟값을 구해봅시다. > mi..
2020. 12. 9.
R 밀도(density) 히스토그램 히스토그램의 y값이 왜 1이 넘을까
R 히스토그램에서 밀도(density) 히스토그램으로 설정을 하면 전체 넓이가 1이 되게끔 그래프를 그려줍니다. 따라서 각 계급 간격의 합이 1보다 작다면 높이가 1보다 커질 수 있는 것입니다. 계급 간격이 0~0.1, 0.1~0.2 두개뿐이라고 해봅시다. 이때 밑변이 0.2이므로, 전체 넓이가 2이 되려면 각 높이의 합이 5가 되야 합니다. 예를들어 아래와 같은 계급값과 도수가 있다고 합시다. 160~170 : 5 170~180 : 5 상대도수를 계산하면 아래와 같습니다. 160~170 : 0.5 170~180 : 0.5 R 히스토그램에서의 density는 아래와 같습니다. 160~170 : 0.05 170~180 : 0.05 height=c(161,162,163,164,165,171,172,173,1..
2020. 12. 9.
R 히스토그램 여러개 겹쳐그리기 (투명하게)
R 히스토그램 여러개 겹쳐그리기 (투명하게) 오늘 코드 모아보기 #break 설정 x_ax=seq(02,8,0.2) #히스토그램 만들어서 저장, plot=FALSE로 설정하여 그려지지 않게함 hist1=hist(iris$Sepal.Length, breaks=x_ax, plot = FALSE) hist2=hist(iris$Sepal.Width, breaks=x_ax, plot = FALSE) #plot 함수로 히스토그램 그리기 plot(hist1, col=adjustcolor("red",alpha=0.5),ylim=c(0,40),ann=FALSE) plot(hist2, col=adjustcolor("blue",alpha=0.5), add = TRUE) #제목설정 title(main="my histogram..
2020. 12. 9.
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.