[R 강의] 67. 산점도 '점'의 모양 25가지
도구 R로 푸는 통계 67. 산점도 '점'의 모양 25가지 산점도를 꾸미는 방법을 이전에 다뤘었는데, 이번 강의에서는 점의 모양을 바꾸는 방법을 더 자세히 다루려고 합니다. 먼저 오늘 강의에 활용할 예시를 하나 만들어봅시다. > x=c(1,2,3)ㅁ > y=c(1,2,3) > plot(x,y) 점의 모양을 바꿔봅시다. 점의 모양은 pch=숫자 로 바꿉니다. cex=숫자 는 점의 크기입니다. 25가지의 모양을 전부 출력해봅시다. par함수를 이용하여 5x5 창을 만들고 for문을 이용하여 출력함수를 코딩하겠습니다. x=c(1,2,3) y=c(1,2,3) par(mfrow=c(5,5)) for (i in 1:25){ plot(x,y,pch=i,cex=3) } 아래와 같은 에러가 출력될 지도 모릅니다. 이때는..
2020. 3. 30.
[R 강의] 66. 산점도 '점'의 색 바꾸기
도구 R로 푸는 통계 66. 산점도 '점'의 색 바꾸기 산점도를 꾸미는 방법을 이전에 다뤘었는데, 이번 강의에서는 색을 바꾸는 방법을 더 자세히 다루려고 합니다. 먼저 오늘 강의에 활용할 예시를 하나 만들어봅시다. > x=c(1,2,3,4,5) > y=c(1,2,3,4,5) > plot(x,y) 점의 색을 바꿔봅시다. 색은 col='이름 or RGB or Hex color code' 옵션을 추가해주면 됩니다. 1. 이름으로 입력하기 점의 색을 이름으로 입력해봅시다. 어떤 색들을 제공하는지 궁금하신 분들은 R에 colors() 라고 입력하시면 색들을 보여줍니다. 3.5.1 버전 기준으로 무려 657가지나 제공합니다. > x=c(1,2,3,4,5) > y=c(1,2,3,4,5) > plot(x,y,col='..
2020. 3. 29.
[R 강의] 65. 균등분포 (uniform distribution)
도구 R로 푸는 통계 65. 균등분포 (uniform distribution) 균등분포는 확률밀도함수 값이 일정한 분포입니다. 균등분포와 관련된 함수는 네 가지가 있습니다. 1. 확률밀도함수 dunif(x, min = 0, max = 1, log = FALSE) 정의역이 0~5인 균등분포에서 3의 확률밀도 값을 구하겠습니다. > dunif(3,0,5) [1] 0.2 이번에는 log를 TRUE로 설정해서 구해보겠습니다. > dunif(3,0,5,log=TRUE) [1] -1.609438 0.2에 로그를 씌운 log(0.2)와 값이 동일합니다. > log(0.2) [1] -1.609438 2. 누적분포함수 punif(x, min = 0, max = 1, lower.tail = TRUE, log.p = FAL..
2020. 3. 29.
[R 강의] 60. 객체의 내부 구조 보는 법 (str)
도구 R로 푸는 통계 60. 객체의 내부 구조 보는 법 (str) str 함수는 structure의 약어입니다. 벡터, 행렬, 리스트, 데이터프레임 등 객체의 '내부구조'를 보여줍니다. 내부를 한 눈에 볼 수 있어서 데이터프레임에 주로 사용됩니다. ex1) 벡터의 내부구조 보기 > a=c(1,2,3,4,5) > str(a) num [1:5] 1 2 3 4 5 ex2) 리스트의 내부구조 보기 > li=list(a=c(1,2,3),b=c("a","b","c")) > str(li) List of 2 $ a: num [1:3] 1 2 3 $ b: chr [1:3] "a" "b" "c" ex3) 데이터프레임의 내부구조 보기 > a=c(1,2,3) > b=c(1+1i,2+2i,3+3i) > c=c("a","b","..
2020. 3. 28.
[R 강의] 58. 데이터프레임 열추가, 행과 열에 이름 붙이기 (data.frame)
도구 R로 푸는 통계 58. 데이터프레임 열추가, 행과 열에 이름 붙이기 (data.frame) 데이터프레임을 하나 만들겠습니다. (데이터 프레임 만들기 : http://hsm-edu.tistory.com/481) 벡터를 먼저 정의하고 데이터프레임을 만들 수도 있지만, 아래와 같이 데이터 프레임 안에 직접 정의할 수도 있습니다. > DF=data.frame(a=c(1,2,3),b=c(1+1i,2+2i,3+3i),c=c("a","b","c")) > DF a b c 1 1 1+1i a 2 2 2+2i b 3 3 3+3i c 1. 데이터프레임에 열 추가하기 열을 추가하는 방법은 아래와 같습니다. d라는 열을 추가해보겠습니다. > DF$d=c(11,22,33) > DF a b c d 1 1 1+1i a 11 2..
2020. 3. 27.
[R 강의] 56. 데이터프레임 만들기 (data.frame)
도구 R로 푸는 통계 56. 데이터프레임 만들기 (data.frame) 데이터프레임은 R에서 가장 많이 사용되는 자료구조입니다. 데이터프레임의 형식은 행렬과 비슷한데, 모든 종류의 자료형을 동시에 담을 수 있습니다. (행렬 정의하기 : http://hsm-edu.tistory.com/406) 자료형에는 아래와 같은 종류가 있었습니다. (자료형 분류 : http://hsm-edu.tistory.com/314) - 숫자 (정수,실수,NaN,Inf) - NA(not available) - 복소수 - 문자열 - 논리값 - NULL - 요인(factor) 데이터프레임을 만드는 방법은 간단합니다. data.frame(자료,자료,자료,자료,...) ex1) 데이터프레임 만들기 > a=c(1,2,3) > b=c(1+1..
2020. 3. 27.
[R 강의] 55. 범주형 자료의 입력 (factor)
도구 R로 푸는 통계 55. 범주형 자료의 입력 (factor) 자료는 크게 둘로 나뉩니다. - 범주형자료(질적자료) - 연속형자료(양적자료) factor는 범주형 자료를 표현하기 위한 데이터타입(type)입니다. 범주형 자료는 순서가 있느냐 없느냐에 따라 명목척도, 순위척도로 나뉘는데요. 예를 들어보겠습니다. 범주형자료 - 명목척도 : 혈액형(A,B,O,AB), 남녀(M,F) - 순위척도 : 학년(1,2,3) factor를 입력하는 형식은 아래와 같습니다. factor(입력하기 원하는 데이터, 레벨, 순위여부) ex1) 혈액형 데이터 입력하기 친구 다섯명의 혈액형이 아래와 같다고 합시다. > bt=c("A","B","A","AB","O") factor로 입력해주겠습니다. > bt_f=factor(bt,..
2020. 3. 27.
[R 강의] 48. 분위수 구하는 방법 (quantile)
도구 R로 푸는 통계 48. 분위수 구하는 방법 (quantile) 분위수는 전체 자료를 등분할 때 기준이 되는 수 입니다. 분위수에 대한 자세한 설명은 아래 링크에서 보실 수 있습니다. (분위수 이론설명 : http://hsm-edu.tistory.com/533) R에서 제공하는 분위수 함수는 아래와 같습니다. quantile(x, probs = seq(0, 1, 0.25), type = 7) 자료를 입력하고, 자료를 나눌 비율을 정하고, 타입을 입력합니다. R에서는 분위수를 계산하는 type 9가지를 제공합니다. 각 방법에 대한 설명도 위 링크에 있습니다. 예를 들어봅시다. > a=c(24,28,37,43,46,47,59,67,75,77) > quantile(a) 0% 25% 50% 75% 100% ..
2020. 3. 25.
[R 강의] 45. 히스토그램 꾸미기
도구 R로 푸는 통계 45. 히스토그램 꾸미기 지난시간에는 히스토그램을 그려보았는데요. 오늘은 여러가지 옵션을 추가하여 히스토그램을 꾸며보겠습니다. 먼저 표본을 만들고 히스토그램을 그려봅시다. > ht=sample(160:190,50,replace=TRUE) > HT1=hist(ht, breaks=seq(160,190,2)) 1. 제목설정 제목을 설정하려면 main 옵션을 추가하면 됩니다. > HT1=hist(ht, breaks=seq(160,190,2), main="키_히스토그램") 2. x,y축 이름 설정 x,y 축 이름을 설정하려면 xlab과 ylab 옵션을 추가하면 됩니다. > HT1=hist(ht, breaks=seq(160,190,2), main="키_히스토그램",xlab="키",ylab="도..
2020. 3. 24.
[R 강의] 43. 순서를 알려주는 함수 (rank)
도구 R로 푸는 통계 43. 순서를 알려주는 함수 (rank) rank 함수는 각 원소가 크기 순서로 몇위 인지를 반환해줍니다. 가장 작은 값이 1위입니다. > A=c(21,11,23,15,29,24,13) > rank(A) [1] 4 1 5 3 7 6 2 만약 같은 값이 있으면 어떻게 할까요. ties.method 라는 옵션을 사용해서 설정할 수 있습니다. 여섯가지 옵션중 하나를 설정할 수 있습니다. - average : 평균 순위로 설정 - first : 앞에 있는 원소를 높은 순위로 - last : 뒤에 있는 원소를 높은 순위로 - random : 임의로 - max : 두 순위 중 큰 값으로 - min : 두 순위 중 작은 값으로 예를 들어 설명하겠습니다. > A=c(1,2,3,3,4,5,6) > ..
2020. 3. 24.
[R 강의] 42. 중복 된 값을 다루는 함수 (unique, duplicated)
도구 R로 푸는 통계 42. 중복 된 값을 다루는 함수 (unique, duplicated) 1. unique 함수 unique 함수는 중복된 항을 하나만 남기고 제거해주는 함수입니다. > x=c(1,1,2,2,2,3,4,5) > unique(x) [1] 1 2 3 4 5 문자열에서도 가능합니다. > x=c('a','a','b','b','c','d','e','e') > unique(x) [1] "a" "b" "c" "d" "e" 2. duplicated 함수 duplicated 함수는 중복된 항에는 TRUE, 처음 등장하는항에는 FALSE를 반환해주는 함수입니다. > x=c(1,1,2,2,2,3,4,5) > duplicated(x) [1] FALSE TRUE FALSE TRUE TRUE FALSE FAL..
2020. 3. 23.
[R 강의] 41. 복제함수 (rep)
도구 R로 푸는 통계 41. 복제함수 (rep) rep는 복제함수입니다. replicate의 줄임 말입니다. 아래와 같이 사용합니다. rep(복제하기 원하는 스칼라 혹은 벡터, 복제 횟수와 방식) ex1) 2를 5번 복제 > rep(2,times=5) [1] 2 2 2 2 2 times를 생략하고 써도됩니다. > rep(2,5) [1] 2 2 2 2 2 ex2) 백터 (1,2,3)을 5번 복제 > rep(c(1,2,3),times=5) [1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 ex3) 벡터 (1,2,3)을 5번 복제하는데, 원소단위로 복제 > rep(c(1,2,3),each=5) [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 each는 생략할 수 없습니다. 생략할 경우 ..
2020. 3. 23.
[R 강의] 40. 등차수열 생성함수 (seq함수)
도구 R로 푸는 통계 40. 등차수열 생성함수 (seq함수) seq함수는 '등차수열'을 생성해주는 함수입니다. 아래와 같은 형식으로 입력합니다. seq(시작,끝,간격 or 길이) 간격(or길이)를 입력해주지 않으면 default로 간격 1이 입력됩니다. ex1) 1~10의 범위와 간격1을 갖는 등차수열 > seq(from=1,to=10) [1] 1 2 3 4 5 6 7 8 9 10 아래와 같이 from, to를 생략해줄 수 있습니다. > seq(1,10) [1] 1 2 3 4 5 6 7 8 9 10 ex2) 1~10의 범위와 간격2를 갖는 등차수열 > seq(from=1,to=10,by=2) [1] 1 3 5 7 9 아래와 같이 from, to,by를 생략해줄 수 있습니다. > seq(1,10,2) [1..
2020. 3. 23.
[R 강의] 39. 모집단에서 표본 추출하기 (sample 함수)
도구 R로 푸는 통계 39. 모집단에서 표본 추출하기 (sample 함수) 1. sample(x,n) x라는 벡터에서 n개의 표본을 순서가 있게 뽑습니다. > sample(1:10,3) [1] 6 10 3 x를 입력하지 않으면 x에 1:n이 자동으로 입력됩니다. > sample(3) [1] 1 2 3 2. sample(x,n,replace=TRUE) x라는 벡터에서 중복을 허용하여 n개의 표본을 순서가 있게 뽑습니다. > sample(1:5,10,replace=TRUE) [1] 3 4 3 3 4 3 5 2 1 3 3. sample(x,n,prob=c(...)) x라는 벡터에서 중복을 허용하여 n개의 표본을 순서가 있게 뽑는데, 각 변수를 뽑는 확률을 지정해줍니다. > sample(c(1,2,3,4,5,6..
2020. 3. 23.