[R강의] 116. 01,02,03,.. 형태의 벡터 만드는 방법
01,02,03,04...와 같은 벡터를 만드는 방법입니다. sprintf 함수를 사용합니다. sprintf 함수는 포멧팅 방식을 설정할 수 있습니다. sprintf(포멧팅 방식, 인자) ex) 01~50 까지의 벡터를 01,02,03...으로 출력 > num=sprintf("%02d", 1:50) > num [1] "01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" [20] "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" [39] "39" "40" "41" "42" ..
2021. 6. 28.
[R강의] 114. 여러 그래프의 제목과 축이름 글자 크기 한번에 바꾸는법
아래와 같이 세개의 그래프를 그렸다고 합시다. par(mfrow=c(1,3)) x=seq(-4,4,0.01) y=dnorm(x) plot(x,y,type='l',main="확률밀도함수 PDF",xlab="X",ylab="f(X)") x=seq(-4,4,0.01) y=pnorm(x) plot(x,y,type='l',main="누적분포함수 CDF",xlab="X",ylab="cumulative P") x=seq(0,1,0.01) y=qnorm(x) plot(x,y,type='l',main="역누적분포함수",xlab="cumulative P",ylab="X") 글자 크기를 바꾸려면 각 plot 내부에 cex 옵션을 정의해야 하는데 번거롭습니다. par 함수를 이용하면 한번에 바꿀 수 있습니다. par(mfro..
2021. 6. 11.
[R강의] 112. 상위 5개 숫자 추출하기
상위 5개 숫자를 출력하는 방법입니다. 설명은 주석으로 대신합니다. #데이터 A=c(1,4,23,5,2,122,3,7,2,65) #내림차순정렬 후 슬라이싱 A_top5=sort(A,decreasing = TRUE)[1:5]
2021. 5. 31.
[R강의] 111. 산점도 그래프 회전
산점도 그래프를 회전하는 방법에 대해 알아봅시다. 아래 그래프를 그려볼 것입니다. 상관분석 예시 그림을 만들때 사용하였습니다. 먼저 정규분포 함수에서 임의추출하여 x와 y를 생성합니다. #데이터 x=rnorm(1000,10,3) y=rnorm(1000,10,1) 그래프로 그려보면 아래와 같습니다. 의도적으로 상하방향이 납작하게 설정하였습니다. 표준편차를 작게 해주면 됩니다. #데이터 x=rnorm(1000,10,3) y=rnorm(1000,10,1) #plot plot(x,y,xlim=c(0,20),ylim=c(0,20),main="0deg") 회전하기 위해 회전행렬을 정의합니다. (a,b)를 $\theta$ 만큼 회전한 점 (a',b')를 구하는 방법은 아래와 같습니다. $\begin{bmatrix} ..
2021. 5. 26.
[R강의] 108. 표준정규분포표 만들기
R을 이용하여 표준정규분포표를 만들어봅시다. 첫째줄을 먼저 만들고, z값에 0.1씩 더해가며 나머지 줄을 추가하는 코드입니다. #소수 둘째자리 z값 z_hrow=seq(0,0.09,0.01) #표준정규분포표 첫째줄 만들기 tab=round(pnorm(z_hrow),4) #나머지 줄 생성 for (i in seq(0.1,3.9,0.1)) { add_row=round(pnorm(z_hrow+i),4) tab=rbind(tab,add_row) } #열이름 colnames(tab)=z_hrow #행 이름 rownames(tab)=seq(0,3.9,0.1) #새 창에 출력하기기 View(tab)
2021. 3. 22.
[R강의] 107. 히스토그램에서 density는 상대도수가 아닙니다.
먼저 히스토그램에서 density는 두가지가 있다는 사실을 알고 시작합시다. 하나는 히스토그램을 그린 결과로 출력되는 density와 옵션으로 입력하는 density입니다. 옵션으로 입력하는 density는 히스토그램 막대에 체크무늬를 만들어주는 것인데, 우리가 오늘 다루려고 하는 density는 히스토그램을 그린 결과로 출력되는 density입니다. 데이터를 하나 정의합시다. 키 데이터입니다. 계급값과 도수를 아래와 같이 갖도록 만들겠습니다. 160-170 : 4명 170-180 : 6명 상대도수는 아래와 같습니다. 160-170 : 0.4 170-180 : 0.6 데이터는 아래와 같이 만들면 됩니다. height=c(161,162,163,164,171,172,173,174,175,176) 히스토그램을..
2021. 1. 7.
[R강의] 105. attr 이 무엇인가요?
R을 사용하다 보면 attr 을 보게될 때가 있습니다. 예를들어 x라는 벡터에 scale 함수를 적용하면, 결과 데이터 이외에 아래 sttr 이라는 내용이 출력됩니다. > x=1:5 > scale(x) [,1] [1,] -1.2649111 [2,] -0.6324555 [3,] 0.0000000 [4,] 0.6324555 [5,] 1.2649111 attr(,"scaled:center") [1] 3 attr(,"scaled:scale") [1] 1.581139 attr 는 attribute 의 약어입니다. 속성이라는 뜻입니다. 변수에 속성을 지정할 수가 있는데요. 그럴 경우 입력되는 정보입니다. 벡터를 하나 정의하고 속성을 입력해보겠습니다. v1=c(1,2,3,4,5) attr을 입력할건데요. 입력하는 방..
2020. 10. 3.
[R 강의] 94. 정규분포에 색칠하기
도구 R로 푸는 통계 94. 정규분포에 색칠하기 91강에서 배운 폴리곤 함수를 이용하여 정규분포 색칠을 하는 방법을 알아봅시다. 설명은 주석으로 대체합니다. ##정규분포 함수를 그리기 위한 데이터 생성 set.seed(2) x=seq(-4,4,0.001) y=dnorm(x) ##정규분포 함수 그리기 plot(x,y,type="l",ann=FALSE) title(main="normal distribution",xlab="x",ylab="f(x)", cex.lab=1.3,cex.main=1.5) ##색칠할 범위 설정하기 areaX=seq(1.96,4,0.01) areaY=dnorm(areaX) ##폴리곤 함수에 사용할 수 있도록 데이터 가공하기 xp=c(areaX,rev(areaX)) yp=c(rep(0,l..
2020. 6. 6.
[R 강의] 89. 데이터프레임에서 결측치(NA)의 위치를 알아내기
도구 R로 푸는 통계 89. 데이터프레임에서 결측치(NA)의 위치를 알아내기 결측치가 있는 데이터프레임에서, 결측치 NA의 위치를 "행,열"형태로 출력해봅시다. 예를들어 3행 2열에 결측치가 있다면 "3,2"가 출력되는 것입니다. 설명은 주석으로 대신합니다. #먼저 결측치가 들어있는 벡터를 2개 정의합시다. V1=c(1,2,3,NA,5) V2=c(1,2,NA,NA,3) #벡터 2개를 이용하여 데이터프레임을 만들겠습니다. df=data.frame(V1,V2) #dim 함수를 이용하여 데이터프레임의 행과 열의 수를 알아냅니다. dim(df)[1] 은 행의 수 입니다. dim(df)[2]는 열의 수 입니다. nrow=dim(df)[1] ncol=dim(df)[2] #For문을 이중으로 사용할 것입니다. i가 ..
2020. 5. 22.
[R 강의] 88. 히스토그램 여러 개 겹쳐서 그리는 방법
도구 R로 푸는 통계 88. 히스토그램 여러 개 겹쳐서 그리는 방법 히스토그램 2개를 겹쳐서 그려보겠습니다. 3개 이상에도 동일한 방법이 적용됩니다. 설명은 주석으로 대체합니다. #데이터 생성하기. 정규분포에서 임의추출하여 데이터 생성. M_H=rnorm(500,170,5) F_H=rnorm(500,160,5) #x 축 범위 설정 x_range=seq(130,200,by=2) #히스토그램 만들어서 저장, plot=FALSE로 설정하여 그려지지 않게함 M_H_hist=hist(M_H, breaks=x_range, plot = FALSE) F_H_height_hist=hist(F_H, breaks=x_range, plot = FALSE) #y축 범위 설정을 위해 y축 최댓값을 찾아줌 y_max=max(max..
2020. 5. 19.
[R 강의] 87. 마진(margin)과 테두리 선 넣기
도구 R로 푸는 통계 87. 마진(margin)과 테두리 선 넣기 마진은 '여백'을 의미합니다. R에는 두가지 마진이 있습니다 inner margin과 outer margin입니다. 주석을 통해 설명드리겠습니다. #mar은 inner margin 의 아래,왼쪽,위,오른쪽 간격을 설정합니다. #oma는 outer margin의 아래,왼쪽,위,오른쪽 간격을 설정합니다. #mar default c(5.1, 4.1, 4.1, 2.1) #oma default c(0,0,0,0) par(mar=c(6,6,6,6), oma=c(4,4,4,4)) #아무 그래프나 그렸습니다 plot(1,type="n",xlim=c(0,5),ylim=c(0,5)) #mtest는 margin에 text를 표시합니다. #outer=FALSE..
2020. 5. 18.