본문 바로가기
반응형

전체 글131

R 누적도수 그래프 (cumsum) R 누적도수 그래프 (cumsum) 누적도수 히스토그램을 이해하기 위해 한 가지 예시를 들겠습니다. 아래 벡터를 이용하여 누적도수 히스토그램을 그릴 것입니다. 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 입력값이 히스토그램에 알맞지 않기 때문에 막대그래프로 그려야 합니다. 절차는 아래와 같습니다. 1) 도수 계산 (hist 함수)2) 누적도수 계산.. 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 시각화] 데이터프레임을 이용하여 boxplot 그리는 법 [R 시각화] 데이터프레임을 이용하여 boxplot 그리는 법 A,B,C 세 반 학생 30명의 성적 데이터가 있습니다. sample 함수로 임의추출하겠습니다. A=sample(0:100,10)B=sample(10:90,10)C=sample(20:80,10) 1열을 독립변수인 반이름, 2열을 종속변수를 점수로 하여 데이터프레임을 만들어줍니다. 독립변수 이름은 X로, 종속변수 이름은 Y로 지정합니다. mydf=data.frame(c(rep("A",length(A)), rep("B",length(B)), rep("C",length(C))), c(A,B,C)) colnames(mydf)=c("X","Y") 데이터는 아래와 같습니다. > mydf X Y1 A 722 A 13 A 324 A 165 A 146 A 2.. 2020. 9. 18.
[R시각화] 상자수염그림(boxplot) 그리는 방법 [R시각화] 상자수염그림(boxplot) 그리는 방법 상자수염그림은 분위수를 이용하여 그래프를 그리는 방식입니다. 아래와 같은 다섯개의 정보를 담고 있습니다. 0사분위수, 1사분위수, 2사분위수, 3사분위수, 4사분위수 영어로는 아래와 같이 나타냅니다. Q0, Q1, Q2, Q3, Q4 우리가 아는 용어를 이용하여 표현하면 아래와 같습니다. 최솟값, 1사분위수, 중앙값, 3사분위수, 최댓값 최솟값 : 0% 지점1사분위수 : 25% 지점중앙값 : 50% 지점3사분위수 : 75% 지점최댓값 : 100% 지점 가장 간단한 방법인 벡터를 이용하여 그려보겠습니다. #rnorm 함수를 이용하여 데이터생성M=rnorm(20,170,5)F=rnorm(20,160,5) boxplot(M,F) 결과는 아래와 같습니다. ... 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 그래프 y축에 퍼센트 % 표시하는 방법 R 그래프 y축에 퍼센트 % 표시하는 방법 1) percent 함수 이용 x=c(1,2,3,4,5)y=c(0.1,0.2,0.3,0.4,0.5) barplot(y,names=x,yaxt='n',ylim=c(0,1)) y_tick=c(0,0.2,0.4,0.6,0.8,1.0) axis(2, at=y_tick, lab=percent(y_tick)) 2) 직접 정의 x=c(1,2,3,4,5)y=c(10,30,50,60,80) barplot(y,names=x,yaxt='n',ylim=c(0,100)) y_tick=seq(0,100,20) axis(2, at=y_tick, lab=paste(y_tick,'%')) 2020. 7. 20.
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.
R 그래프에 작거나같다, 크거나같다 넣는 법 R 그래프에 작거나같다, 크거나같다 넣는 법 R에서 ≤ 또는 ≥ 를 입력하는 방법은 unicode 를 이용하는 것입니다. ≥ : \u2264≤ : \u2265 문자열 형태로 입력해주시면 됩니다. 아래는 사용 예시입니다. plot(1,1)title(main="\u2264 는 왼쪽이 오른쪽 보다 같거나 크다.") 2020. 6. 11.
R에서 그래프 축의 눈금 값 폰트 크기 변경 R에서 그래프 축의 눈금 값 폰트 크기 변경 x축의 눈금 값 폰트 크기 변경 axis(1,cex.axis=크기) y의 눈금 값 폰트 크기 변경 axis(2,cex.axis=크기) barplot에서 x축의 눈금 값 폰트 크기 변경 barplot(cex.names=크기) 아래는 사용예시입니다. plot함수에서 xaxt와 yaxt를 "n"으로 설정해 주셔야 합니다. 그렇지 않으면 축의 값이 겹쳐져 그려집니다. x=1:3y=1:3 plot(x,y,xaxt="n",yaxt="n") axis(1,cex.axis=2)axis(2,cex.axis=3) 2020. 6. 11.
R 범례(legend) 넣는 방법 (위치,기호,색,크기) R 범례(legend) 넣는 방법 legend(x, y = NULL, legend, fill = NULL, col = par("col"), border = "black", lty, lwd, pch, angle = 45, density = NULL, bty = "o", bg = par("bg"), box.lwd = par("lwd"), box.lty = par("lty"), box.col = par("fg"), pt.bg = NA, cex = 1, pt.cex = cex, pt.lwd = lwd, xjust = 0, yjust = 1, x.intersp = 1, y.intersp = 1, adj = c(0, 0.5), text.width = NULL, text.col = par("col"), text.fo.. 2020. 6. 11.
R 그래프에 격자 넣는 방법 (+grid가 그래프 위에 그려지는 문제 해결법) R 그래프에 격자 넣는 방법 (+grid가 그래프 위에 그려지는 문제 해결법) 그래프에 격자를 넣는 방법은 그래프를 그린 뒤 아래 함수를 사용하는 것입니다. grid(nx = NULL, ny = nx, col = "lightgray", lty = "dotted", lwd = par("lwd"), equilogs = TRUE) 먼저 옵션을 설명드리겠습니다. nx : 세로 선 수ny : 가로 선 수col : 선 색lty : 선 스타일(숫자 혹은 문자 입력)lwd : 선 두께equilogs : 로그 좌표계 사용시, 로그 좌표계 고려하여 선 생성 아래는 선 스타일 종류입니다. 번호나 문자를 입력하면 됩니다. lty=0 → "blank" (투명선)lty=1 → "solid" (실선) lty=2 → "dashed".. 2020. 6. 10.
R 히스토그램 2개 한 화면에 그리기 데이터는 iris데이터를 사용하겠습니다. R내장데이터입니다. 설명은 주석으로 달아놓았습니다. #break 설정 x_ax = seq(0, 10, 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 함수를 이용하여 hist1과 hist2를 그림. ann=FALSE로 설정하여 그래프이름과 축이름 나오지 않게함. axes=FALSE로 설정하여 축의 tick이 나오지 않게함. plot(hist1, col = adjustcolor("red", alpha = 0.. 2020. 5. 9.
R에서 막대그래프 그리는 방법, barplot() R에서 막대그래프 그리는 방법, barplot() 아래 순서로 공부해봅시다. 1) 막대그래프 기본형 2) 결과~요인 형태로 데이터 입력하기 3) 적층형그래프 4) 그룹형그래프 5) 그래프꾸미기 6) 막대에 값 표시하기 7) 오차막대 추가하기 1) 막대그래프 기본형 R에서 막대그리프를 그려주는 함수는 barplot() 입니다. 간단하게 데이터를 만들고 그려봅시다. mydata=c(5,8,3) barplot(mydata,names=c("A","B","C")) 2) 결과~요인 형태로 데이터 입력하기 우리가 다루는 데이터들은 보통 아래와 같이 여러개의 변수들로 되어 있습니다. > head(longley,6) GNP.deflator GNP Unemployed Armed.Forces Population Year E.. 2020. 1. 23.
R에서 줄기-잎 그림 그리는 방법 stem() R에서 줄기-잎 그림 그리는 방법 줄기 잎 그림은 개별적인 값과 빈도라는 두가지 정보를 동시에 보여주는 그래프입니다. 히스토그램과 유사하지만 개별 값들도 알 수 있다는 특징이 있습니다. R에서는 stem이라는 함수를 통해 줄기-잎 그림을 그릴 수 있습니다. 아래와 같은 형식으로 입력합니다. stem(x, scale = 1, width = 80, atom = 1e-08) scale은 구간을 어떻게 나눌지를 결정합니다. 간단한 줄기-잎그림을 그려보면서 이해해봅시다. x=c(1,2,2,2,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6)stem(x) 결과는 아래와 같습니다. 그래프 창이 새로 드지는 않고, 명령줄에 텍스트로 실행됩니다. > x=c(1,2,2,2,3,3,3,4,4,4,4,5,5,5,.. 2020. 1. 4.
[R] ceiling(올림)과 floor(버림) 사용 예시 - 그래프 구간 자동 설정 [R] ceiling(올림)과 floor(버림) 사용 예시 - 그래프 구간 자동 설정 ceiling은 올림, floor는 버림을 하는 함수입니다. > ceiling(3.2) [1] 4 > floor(3.7) [1] 3 이 함수를 언제 사용할까요? 그래프 x축과 y축의 구간을 설정해야 하는 상황을 가정합시다. 데이터는 아래와 같습니다. x=c(1.1,1.5,3.2,4.4,5.7) y=c(2.3,3.5,6.3,2.6,10.2) 그래프를 아래와 같이 그릴 수 있습니다. x=c(1.1,1.5,3.2,4.4,5.7) y=c(2.3,3.5,6.3,2.6,10.2) plot(x,y,xaxt="n",yaxt="n", xlim=c(1,6),ylim=c(2,11)) x_axis_tick=seq(1,6,by=1) y_axi.. 2020. 1. 2.
R에서 그래프 테두리선 그리기, box 함수 R에서 그래프 테두리선 그리기, box 함수 그래프 테두리선에는 3가지 종류가 있습니다. - 그래프 축 테두리선 box(col="원하는 색")- inner margin 테두리선 box("figure", col="원하는 색")- outer margin 테두리선 box("outer", col="원하는 색") #1. 그래프 축 테두리선 box("plot", col="원하는 색")또는box(col="원하는 색") 디폴트가 "plot"이기 때문에 생략이 가능합니다. > plot(1,1)> box(col="red") lty 옵션을 이용해서 선 스타일을 설정할 수도 있습니다. lty=0 → "blank" (투명선)lty=1 → "solid" (실선) lty=2 → "dashed" (대쉬선)lty=3 → "dotted.. 2019. 12. 18.
R에서 plot창에 그래프 대신 텍스트 출력 방법 R에서 plot창에 그래프 대신 텍스트 출력 방법 먼저 비어있는 창을 하나 만듭니다. >code par(mar=c(0.1,0.1,0.1,0.1))plot(NULL,type="n",xlim=c(0,5),ylim=c(0,5),ann=FALSE,axes=FALSE)box() x범위와 y범위를 고려하여 text를 써줍니다. >code par(mar=c(0.1,0.1,0.1,0.1))plot(NULL,type="n",xlim=c(0,5),ylim=c(0,5),ann=FALSE,axes=FALSE)box() text(1,2,"hello world",cex=2,col="red")text(1,4,"R studio",cex=2,col="blue") 2019. 12. 5.
R 그래프 점의 모양 바꾸기, pch 옵션 R 그래프 점의 모양 바꾸기, pch 옵션 plot 함수 안이나 points 함수 안에 pch 값을 입력해주면 됩니다. 아래는 예시입니다. plot(...,pch=1)points(...,pch=4) 25가지 점의 모양을 제공하고, 숫자 대신 문자를 입력하면 그 문자 모양으로 점이 바뀝니다. 0번과 15번과 21번의 차이를 알아봅시다. 0번은 테두리색만 설정가능, 15번은 채우기만 가능, 21번은 테두리색과 채우기 색을 둘다 설정할 수 있습니다. 테두리색은 col 옵션으로, 채우기색은 bg 옵션으로 설정합니다. > code plot(1,type="n",axes=FALSE,ann=FALSE,xlim=c(0,7),ylim=c(0,6))box() # x+(-(y-4)+4*(x-1)) 이 수식 힘들게 세움.for.. 2019. 12. 4.
R에서 여백(margin)설정하는 방법 - 두가지 여백(inner, outer) R에서 여백(margin)설정하는 방법 R plot 화면의 여백은 두 종류가 있습니다. inner 여백과 Outer 여백입니다. inner 여백은 데이터 표시영역과, 축과 title을 포함한 그래프영역 사이의 영역입니다. Outer 여백은 그래프영역과 전체영역 사이의 영역입니다. 마진은 par함수 안에 정의합니다. Inner 마진은 mar=c(아래,왼쪽,위,오른쪽) 형식으로 숫자벡터를 입력하고, Outer 마진은 oma=c(아래,왼쪽,위,오른쪽) 형식으로 숫자벡터를 입력합니다. #Inner marginpar(mar=c(아래,왼쪽,위,오른쪽))#Outer marginpar(oma=c(아래,왼쪽,위,오른쪽)) 각 마진의 디폴트값(초기값)은 아래와 같습니다. #outer mar default c(0,0,0,0.. 2019. 12. 4.
R 그래프 제목,축이름 진하게(bold),기울임(italic) 등 설정 R 그래프 제목과 축이름 진하게(bold),기울임(italic) 등 설정 #1. 방법 font.main과 font.lab에 아래 번호를 설정해주시면 됩니다. plot 함수 또는 title 함수 안에 설정합니다. 1=plain2=bold3=italic4=bold-italic #2. 예제 >코드 par(mfrow=c(2,2)) name=c("1 : plane","2 : bold","3 : italic","4 : bold and italic") for (i in 1:4){ plot(1:10,1:10,type="n",ann=FALSE) title(main=name[i],xlab="x",ylab="y", font.main=i,font.lab=i)} >결과 title 함수에서도 사용 가능합니다. title(xlab.. 2019. 12. 3.
R에서 직선의방정식 그리는 방법 (y=a+bx) R에서 직선의방정식 그리는 방법 (y=a+bx) #1. 방법 1) y=a+bx abline(a = NULL, b = NULL) 2) x=h abline(h = NULL) 3) y=v abline(v = NULL) #2. 예제 plot(0:10,0:10,type="n",ann=FALSE)title(xlab='x',ylab="y") #y=1+2xabline(1,2,col='red') #y=3abline(v=3,col='blue') #x=3abline(h=3,col='green') 2019. 12. 3.
R 선그래프에서 선의 유형(lty) 설정 방법 R 선그래프에서 선의 유형(lty) 설정 방법 #1. 방법 lines(...,lty=숫자) 숫자에 0,1,2,3,4,5 중 하나를 입력하면 됩니다. 각 번호의 의미는 아래와 같습니다. lty=0 → "blank" (투명선)lty=1 → "solid" (실선) lty=2 → "dashed" (대쉬선)lty=3 → "dotted" (점선)lty=4 → "dotdash" (점선 + 대쉬선)lty=5 → "longdash" ( 긴 대쉬선)lty=6 → "twodash" (두개의 대쉬선) #2. 예제 모든 lty 를 그려보는 예제입니다. 번호에 따른 선 모양을 알아보기 위해 만들었습니다. > 코드 #마진 수정par(mar=c(0.1,0.1,0.1,0.1)) #데이터 생성x=c(0,5)y=c(1,1) #빈 그래프 .. 2019. 12. 2.
반응형