본문 바로가기
반응형

r그래프23

[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시각화] 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에서 파레토 차트 그리기 파레토 법칙이란? 파레토법칙은 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그래프 축 눈금 원하는 간격으로 설정하기 코드는 아래와 같습니다. 설명은 주석으로 대신합니다. #데이터 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 시각화] 시계열 그래프 그리기 먼저 ts 함수를 이용하여 시계열 데이터를 생성하고 plot 함수로 그래프를 그려봅시다. rnorm 함수에서 임의로 100개의 값을 추출합니다. 시작일은 2020년 첫분기로 놓습니다. freq 를 12로 놓을 경우 1년이 12개로 나눠지므로, c(2020,1) 의 의미는 2020년 1월이 됩니다. y=ts(rnorm(100),start=c(2020,1),freq=12) plot(y) 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 누적도수 그래프 (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 그래프 제목,축이름 진하게(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] 그래프 영역 색칠하기 + 투명도 설정 (기본도형) [R] 그래프 영역 색칠하기 + 투명도 설정 (기본도형) #1. 주석과 함께 코드 먼저 보기 > 코드 #점의 좌표 설정x=c(1,3,3,1)y=c(1,1,3,3) #그래프 그리기, type을 n으로 놓아 점을 안보이게함.plot(x,y, xlim=c(0,5), ylim=c(0,5), type="n" ) #점 연결해서 도형 그리기+색칠하기. border를 NA로 놓아 테두리 선 제거.polygon(x,y, col=adjustcolor("red",alpha=0.5), border=NA) > 실행결과 #2. 설명 먼저 점의 좌표를 만들어줍니다. 점들이 연결되어 도형이 되고, 도형에 색을 칠할 것입니다. x=c(1,3,3,1)y=c(1,1,3,3) 위에서 정의한 점은 4개의 점입니다. (1,1)(3,1)(3,3.. 2019. 11. 28.
R에서 제공하는 모든 그래프(고수준 그래픽) 목록 한눈에 보기 - 구글 트랜드 검색빈도순 R에서 제공하는 모든 그래프(고수준 그래픽) 목록 한눈에 보기 #1. 구글트랜드 검색빈도 순 검색시 의도되지 않은 검색을 제거하기 위해 검색어를 적당히 설정하였습니다. 예를들면 r pie는 r piechart로 r image는 r image function 과 같이 바꿔넣었습니다. plot() : 산점도hist() : 히스토그램boxplot() : 상자수염그림barplot() : 막대그래프pie() : 파이차트 qqplot() : 두 자료의 qq-plotcontour() : 등고선stem() : 줄기잎 그림image() : z값을 색으로 출력dotplot(x) : 데이터프레임 x의 행(열)의 수준별 산점도를 분석하고자 하는 변수들을 새로이 결합해 표시qqnorm() : 정규분포의 qq-plotpairs(.. 2019. 11. 28.
반응형