본문 바로가기
반응형

R 주제/R 기초 및 통계 강의176

[R 강의] 26. 산점도(scatter plot) 그리기, 꾸미기 도구 R로 푸는 통계 26. 산점도(scatter plot) 그리기, 꾸미기 1. 산점도 그리기 산점도(scatter plot)는 좌표평면에 점이 그려진 그래프입니다. x,y축에 해당되는 두 변수 사이의 관계를 나타내는데 사용됩니다. 함수는 plot() 이구요. 먼저 점을 하나 찍어봅시다. > plot(1,2) plot 함수에서 첫번째 입력된 수를 x로, 두번재 입력된 수를 y로 인식하고 그려준다는 것을 알 수 있습니다. 벡터형태로 여러개의 점을 찍을 수도 있습니다. > plot(c(1,2,3),c(1.2,1.4,1.6)) 변수를 정의해서 입력할 수도 있습니다. > x=c(1,2,3) > y=c(1.2,1.4,1.6) > plot(x,y) 2. 산점도 꾸미기 추가 옵션을 이용하여 산점도를 꾸밀 수 있습니.. 2020. 3. 18.
[R 강의] 25. 함수 정의 해보기(평균을 구해주는 함수) 도구 R로 푸는 통계 25. 함수 정의해보기(평균을 구해주는 함수) R에서는 사용자가 함수를 정의할 수 있습니다. 아래와 같은 규칙을 따릅니다. 함수이름 = function(인자,인자,...) {함수 내용} 예를 들어봅시다. 평균을 구하는 함수를 만들어볼 겁니다. 결과를 반환할 때는 return을 사용합니다. return(결과) 의 형태로 사용하시면 됩니다. > my_mean = function(a) + { + results=sum(a)/length(a) + return(results) + } 평균을 구해주는 함수가 정의되었습니다. 한번 사용해봅시다. > b=c(1,2,3,4,5) > my_mean(b) [1] 3 영상이 더 편하신 분 2020. 3. 18.
[R 강의] 24. 반복문 repeat 도구 R로 푸는 통계 24. 반복문 repeat R에서 제공하는 반복문에는 for, while, repeat이 있는데요. 이번 글에서는 repeat문을 공부해봅시다. repeat문은 중괄호 안의 내용을 반복해서 실행해줍니다. 끝없이 실행되기 때문에 주로 if, break 문과 함께 사용됩니다. repeat{ 실행을 원하는 문장 } 예를 들어봅시다. > repeat{ + print("hi") + } 이렇게 입력하시면 컴퓨터가 멈추는 것을 확인할 수 있습니다. 이번에는 if, break 문과 함께 사용해봅시다. > i=0 > repeat{ + print("hi") + i=i+1 + if(i>10) break + } [1] "hi" [1] "hi" [1] "hi" [1] "hi" [1] "hi" [1] "hi.. 2020. 3. 18.
[R 강의] 23. 반복문 while 도구 R로 푸는 통계 23. 반복문 while R에서 제공하는 반복문에는 for, while, repeat이 있는데요. 이번 글에서는 while문을 공부해봅시다. while문은 (조건) 이 참인 경우에 중괄호 안의 문장을 실행해줍니다. while (조건) { 조건이 참일 때 수행하는 문장 } 예를 들어봅시다. hi를 10번 출력하는 while문입니다. > i=0 > while(i i=0 > while(i 2020. 3. 18.
[R 강의] 22. 출력함수 print, cat 도구 R로 푸는 통계 22. 출력함수 print, cat 1. print 함수 하나의 숫자 또는 문자를 출력해주는 함수입니다. 예를 들어봅시다. > print("hi") [1] "hi" > print(12) [1] 12 print 함수에서 두개의 숫자를 출력하려고 시도해보겠습니다. > print(1,2) [1] 1 첫 숫자만 출력된 것을 확인할 수 있습니다. 2. cat 함수 여러 숫자 또는 문자를 출력해주는 함수입니다. 예를 들어봅시다. > cat(1,2,3,4,5) 1 2 3 4 5> cat함수는 개행을 기본으로 하지 않습니다. 따라서 개행을 해주려면 '\n' 을 추가해주어 야 합니다. > cat(1,2,3,4,5,'\n') 1 2 3 4 5 > 더 복잡한 예를 들어보겠습니다. > cat(1,2,3,.. 2020. 3. 17.
[R 강의] 21. 반복문 for 도구 R로 푸는 통계 21. 반복문 for R에서 제공하는 반복문에는 for, while, repeat이 있는데요. 이번 글에서는 for문을 공부해봅시다. for문은 data안에 있는 값들을 i에 할당하고, 중괄호 안의 반복식을 순차적으로 실행하는 반복문입니다. for(i in data) { 반복식 } 예를 들어봅시다. 1부터 10까지 더하는 for문을 만들어봅시다. > j=0 > for(i in 1:10){ + j=j+i + } > j [1] 55 조금 더 어려운 예를 들어봅시다. 지난시간에 배운 if문과 함께 사용해보겠습니다. 1~100까지의 홀수들을 더하는 for문을 만들어봅시다. > odd=0 > for(i in 1:100){ + if(i%%2==0){ + } else { + odd=odd+i} .. 2020. 3. 17.
[R 강의] 20. 연산자 %% , %/% 도구 R로 푸는 통계 20. 연산자 %%, %/% 1. 연산자 %% %%는 나머지를 구해주는 연산자입니다. 예를들어봅시다. > 3%%2 [1] 1 > 10%%4 [1] 2 > -3%%2 [1] 1 > -3%%-2 [1] -1 > 4%%-3 [1] -2 나누는 수가 양수이면 나머지가 양수, 나누는 수가 음수이면 나머지가 음수가 됩니다. 2. 연산자 %/% %/%는 정수인 몫을 구해주는 연산자입니다. > 7%/%2 [1] 3 > -3%/%2 [1] -2 > -3%/%-2 [1] 1 > 4%/%-3 [1] -2 나누는 수가 양수이면 나머지가 양수, 나누는 수가 음수이면 나머지가 음수가 됩니다. 영상이 더 편하신 분 2020. 3. 17.
[R 강의] 19. 조건문 if 도구 R로 푸는 통계 19. 조건문 if 조건문을 이용하면, 특정 조건에 맞을 때 어떤 엑션을 하도록 만들 수 있습니다. 예를들어 "데이터의 값이 0보다 크면 양수라고 출력하라" 와 같은 작업이 가능합니다. 세가지 형태의 조건문이 있습니다. - if, else 문 - if, else if, else 문 - ifelse 문 1. if, else문 if (조건식) { 조건식이 참일 경우 실행하는 명령 } else { 조건식이 거짓일 경우 실행하는 명령 } 예를 들어봅시다. > x=3 > if(x>0){ + "양수입니다" + } else { + "양수가 아닙니다 + } [1] "양수입니다" 2. if, else if, else 문 else if 를 이용하면 여러개의 조건식을 넣을 수 있습니다. if (조건식1.. 2020. 3. 17.
[R 강의] 18. Box plot(상자그림) 그리는 방법 1. 상자그림 R을 이용하여 상자그림을 그리는 방법을 알아봅시다. 아래와 같은 그림이 상자그림인데요. 점선부분이 수염처럼 생겼기 때문에 상자수염그림이라고도 부릅니다. 상자그림은 다섯가지 정보를 담고 있는 그림입니다. - 최댓값 - 3사분위수 (데이터의 75%가 이 값 이하 또는 데이터의 25%가 이 값 초과) - 2사분위수 (순서상 50%에 위치하는 값, 중간값) - 1사분위수 (데이터의 25%가 이 값 이하) - 최솟값 사분위수를 계산하는 방법은 여러가지가 있는데요. R에서는 9가지 방법을 제공하고 있습니다. 나중에 자세히 다루도록 합시다. 벡터를 하나 정의하고 상자그림을 그려봅시다. > x=c(1,2,3,4,5) > boxplot(x) 가로선이 위에서부터 다섯개가 그려져 있습니다. 맨 위 가로선이 최.. 2020. 3. 16.
[R 강의] 17. 벡터 요소에 이름 부여하기 names() 도구 R로 푸는 통계 17. 벡터 요소에 이름 부여하기 names() 벡터 요소에 이름을 부여할 수 있습니다. names() 라는 함수를 사용합니다. 벡터를 하나 정의하고 이름을 부여해봅시다. > x=c(1,2,3,4,5) > names(x)=c("a","b","c","d","e") > x a b c d e 1 2 3 4 5 만약 원소의 개수보다 적은 이름을 정의하면 어떻게되는지도 해봅시다. > y=c(1,2,3,4,5) > names(y)=c("aa","bb") > y aa bb 1 2 3 4 5 이름을 정의하지 않은 원소에는 NA(not available)가 표시됩니다. 이미 원소 이름을 정의한 벡터에 name 함수를 적용하면 정의한 이름을 볼 수 있습니다. > names(x) [1] "a" "b" .. 2020. 3. 16.
[R 강의] 16. 여러 통계량 한 번에 계산해주는 함수 (summary) 도구 R로 푸는 통계 16. 여러 통계량 한 번에 계산해주는 함수 (summary) R에는 여러 통계량을 한번에 계산해주는 함수가 있습니다. summary라는 함수인데요. 사용해봅시다. > a=c(1,4,2,56,6,234,51,1,23) > summary(a) Min. 1st Qu. Median Mean 3rd Qu. Max. 1 2 6 42 51 234 1st Qu 는 first quartile를 의미합니다. 1사분위수에요. 입력한 수들을 작은 수 부터 큰 수까지 나열했을 때, 왼쪽에서 부터 25%에 있는 수 입니다. 3rd Qu는 third quartile이고 3사분위수입니다. 왼쪽에서 부터 75%에 있는 수이죠. 영상이 더 편하신 분 2020. 3. 16.
[R 강의] 15. 정의한 변수목록 보는 법, 삭제하는 법 도구 R로 푸는 통계 15. 정의한 변수목록 보는 법, 삭제하는 법 여러 변수를 만들고 나서, '내가 어떤 변수를 만들었지?'라고 하는 경우가 있습니다. 이럴 때, 지금까지 만든 변수를 목록으로 보여주는 함수를 이용하면됩니다. 1. 정의한 변수 목록 보는 법 먼저 변수를 몇개 만들겠습니다. > num=c(1,2,3,4,5) > char=c("a","b","c") > .na=c(NA,NA,NA) > null=NULL ls( ) 를 입력하면 정의한 변수 목록을 보여줍니다. > ls() [1] "char" "null" "num" 그런데 .na는 모여주지 않습니다. 함수의 디폴트 정의가 점(.)으로 시작하는 변수는 보여주지 않도록 되어 있기 때문입니다. 점으로 시작하는 변수를 보려면 아래와 같이 설정해주어야 합.. 2020. 3. 16.
[R 강의] 14. 자료형 변환하기 도구 R로 푸는 통계 14. 자료형 변환하기 자료형끼리는 서로 변환이 가능합니다. 1. 문자열로 변환 as.character(x) 실수를 문자열로 바꿔봅시다. > a=c(1,2,3) > b=as.character(a) > b [1] "1" "2" "3" 2. 복소수로 변환 as.complex(x) 문자열을 복소수로 바꿔봅시다. > a=c("1","13","14") > b=as.complex(a) > b [1] 1+0i 13+0i 14+0i 3. 실수로 변환 as.numeric(x) or as.double(x) 논리값을 실수로 바꿔봅시다. > a=c(TRUE,FALSE,FALSE) > b=as.numeric(a) > b [1] 1 0 0 4. 정수로 변환 as.integer(x) 복소수를 정수로 바꿔봅시다.. 2020. 3. 15.
[R 강의] 13. 자료형 분류하기, 확인하기 (mode, typeof) 도구 R로 푸는 통계 13. 자료형 분류하기, 확인하기(mode,typeof) 우리가 지금까지 배운 자료형의 종류는 아래와 같습니다. - 숫자 (numeric) - 복소수 (complex) - 문자열 (string) - 논리값 (logical) - NULL (NULL) - 리스트 (list) 이 외에도 더 있는데, 나머지는 나중에 다루도록 할게요. 정의한 변수가 어떤 자료형인지 확인하는 함수는 두 가지가 있습니다. mode( ) typeof( ) 둘의 차이는 아래와 같습니다. typeof() mode() integer(정수형) double(실수형) numeric(숫자형) special builtin function simbol name language ( call 2,3,4번은 처음보는 것들이죠? 나중에.. 2020. 3. 15.
[R 강의] 12. 복소수 입력하는 법 도구 R로 푸는 통계 12. 복소수 입력하는 법 R에서는 실수 뿐 아니라 복소수도 입력할 수 있고 연산도 가능합니다. 아래와 같이 입력합니다. a=1+2i i하나만 입력할 때는 앞에 1을 붙여주어야 합니다. 그냥 입력하면 에러가 뜹니다. > a=1+i 에러: 객체 'i'를 찾을 수 없습니다 > a=1+1i > a [1] 1+1i 나눗셈과 곱셈도 가능합니다. > (1+2i)*(3-3i) [1] 9+3i > (1+2i)/(3-3i) [1] -0.1666667+0.5i 벡터로도 입력할 수 있고, 실수와 함께 입력가능합니다. > a=c(1,3,1-3i,2+3i) > a [1] 1+0i 3+0i 1-3i 2+3i 영상이 더 편하신 분 2020. 3. 15.
[R 강의] 11. 리스트 (aka 사전) 도구 R로 푸는 통계 11. 리스트 (aka 사전) 리스트는 벡터처럼 데이터를 담는 그릇입니다. 벡터는 같은 종류의 데이터만 입력이 가능했는데요. 리스트는 여러 종류의 데이터를 입력할 수 있습니다. 공부해봅시다. 1. 리스트 생성하기 리스트에 데이터를 입력해 봅시다. 숫자와 문자열이 함께 입력됩니다. > a=list("PAUL",35) > a [[1]] [1] "PAUL" [[2]] [1] 35 일반적으로 '변수명' 과 '값'을 연결하여 저장합니다. 간단한 예를 들어봅시다. > a=list(name="PAUL", age=35) > a $`name` [1] "PAUL" $age [1] 35 이름에는 변수명 설정 규칙이 적용됩니다(3강에서 설명). 값에는 숫자, 문자열, 진리값, NULL ,factor를 입.. 2020. 3. 15.
[R 강의] 10. 논리연산자 (and, or, not) 도구 R로 푸는 통계 10. 논리연산자 (and, or, not) 논리연산자에는 세 가지가 있습니다. and, or, not 입니다. 논리 연산의 결과는 TRUE 와 FALSE 라는 진리값입니다. 1. and 연산자 and연산자는 두 피연산자가 모두 TRUE일 때만 TRUE 값을 반환하는 연산자입니다. and 연산자는 &와 && 두 가지를 사용합니다. 먼저 and 연산자의 사용 예를 보고 나서 두 기호의 차이를 설명드리겠습니다. 진리값 사이의 and 연산입니다. > TRUE&TRUE [1] TRUE > TRUE&FALSE [1] FALSE > FALSE&FALSE [1] FALSE 숫자의 and연산의 경우 0만 FALSE로 나머지는 TRUE로 인식합니다. > 1&0 [1] FALSE > 2&0 [1] F.. 2020. 3. 14.
[R 강의] 9. 비교연산자 (>, <, >=, <=, ==, !=) 도구 R로 푸는 통계 9. 비교연산자 비교연산자는 두 대상을 비교하고 결과가 참인지 거짓인지를 판단해줍니다. 비교연산자의 종류는 크게 둘로 나뉩니다. 1. 부등호 연산자 > : 좌변이 우변보다 큰다. = : 좌변이 우변보다 크거나 같다. 3>4 [1] FALSE > TRUE>=1 [1] TRUE 벡터로 비교연산을 할 수도 있습니다. > a=c(1,2,3,4,5) > a 1==2 [1] FALSE > x=c(1,2,3,4) > x!=3 [1] TRUE TRUE FALSE TRUE 영상이 더 편하신 분 2020. 3. 14.
[R 강의] 8. 진리값(TRUE,FALSE) 도구 R로 푸는 통계 8. 진리값(TRUE,FALSE) 8.1 진리값(TRUE,FALSE) 진리값은 참,거짓을 나타내주는 값입니다. 참,거짓을 판단하는 상황에서 사용될텐데요. 비교연산 또는 논리연산의 결과로 사용됩니다. 참에는 TRUE가 거짓에는 FALSE가 사용됩니다. 예약어이기 때문에 R에 처음부터 생성되어 있습니다. 예약어에는 다른 데이터를 입력해줄 수 없습니다. > TRUE=3 Error in TRUE = 3 : 대입에 유효하지 않은 (do_set) 좌변입니다 T와 F에도 TRUE와 FALSE가 입력되어 있습니다. (T와 F에는 다른 데이터를 입력할 수 있습니다.) > T [1] TRUE > F [1] FALSE > T=3 > T [1] 3 연산을 수행할 때 TRUE는 1로, FALSE는 0으로 .. 2020. 3. 14.
[R 강의] 7. 문자열, NA, NULL, Inf, NaN 도구 R로 푸는 통계 7. 문자열, NA, NULL, Inf, NaN R에서는 숫자 뿐 아니라 문자열, NA, NULL, Inf 도 변수에 입력이 가능합니다. 하나씩 살펴봅시다. 7.1 문자열 R에서 변수에 문자를 입력할때는 '문자열'을 이용합니다. 문자열은 작은따옴표나 큰 따옴표중 원하는 것을 사용하면 됩니다. 예를들어봅시다. > a=c("hello") > a [1] "hello" 문장을 입력할 수도 있습니다. > b=c('R is fun') > b [1] "R is fun" 벡터형태로도 입력할 수 있습니다. > x=c("a","b","thank you") > x [1] "a" "b" "thank you" 하지만 숫자와 문자를 동시에 벡터에 입력하는 것은 불가능합니다. 문자와 숫자를 동시에 입력하면 숫.. 2020. 3. 14.
[R 강의] 6. 정규분포 함수(rnorm, dnorm, pnorm, qnorm) 도구 R로 푸는 통계 6. 정규분포 함수(rnorm, dnorm, pnorm, qnorm) R에는 네 가지 정규분포와 관련된 함수가 내장되어 있습니다. 1. 난수 함수 rnorm 2. 확률밀도함수 dnorm 3. 누적분포함수 pnorm 4. 분위수함수 qnorm 한가지 씩 살펴봅시다. 6.1 난수함수(rnorm) 난수함수는 정규분포함수의 변수에 해당하는 값을 임의로 생성해 주는 함수입니다. 디폴트(기본셋팅)는 '표준정규분포'이구요. 평균과 표준편차를 설정해줄 수 있습니다. 한번 생성해봅시다. > rnorm(5) [1] -1.1819541 -0.6065962 0.6924985 -0.8988901 0.5788439 평균을 100, 표준편차를 5로 바꿔봅시다. > rnorm(5,mean=100,sd=5) [1.. 2020. 3. 14.
[R 강의] 5. 자료의 통계량 구하는 법 (평균값,중간값,최빈값,분산 + sort함수) 도구 R로 푸는 통계 5. 자료의 통계량 구하는 법 (평균값, 중간값, 최빈값, 분산 +sort 함수) 오늘은 자료의 통계량을 구해봅시다. 우리가 흔히 아는 통계량은 평균과 분산이 있습니다. 중간값과 최빈값은 처음 보시는 분들이 계실텐데요. 지금부터 설명드리겠습니다. 5.1 sort 함수 sort함수는 오름차순,내림차순정렬을 해주는 함수입니다. > x=c(1,5,3,2,6) > sort(x) [1] 1 2 3 5 6 디폴트(default)기능이 오름차순이라는 것을 알 수 있습니다. sort(x)는 sort(x,decreasing=FALSE) 에서 decreasing=FALSE가 생략된 형태입니다. 내림차순정렬은 이렇게 하면 됩니다. > sort(x,decreasing=TRUE) [1] 6 5 3 2 1 .. 2020. 3. 14.
[R 강의] 4. 유용한 함수 1탄 (min, max, range, length, sum, prod) 도구 R로 푸는 통계 4. 유용한 함수 1탄(min,max,range,length,sum,prod) R에는 어마어마하게 많은 내장함수들이 있습니다. 그중 유용한 함수 6가지를 소개할게요. 4.1 min( ) 최솟값을 구해주는 함수입니다. > x=c(1,2,3,4,5) > min(x) [1] 1 4.2 max( ) 최댓값을 구해주는 함수입니다. > x=c(1,2,3,4,5) > max(x) [1] 5 4.3 range( ) 범위를 알려주는 함수인데요. 최솟값과 최댓값을 표시해줍니다. > x=c(-1,-2,0,4,5) > range(x) [1] 1 5 4.4 length( ) 전체 요소의 개수를 구해줍니다. > x=c(-0.1, 1+1, 2*3, 5/2) > length(x) [1] 5 4.5 sum( ) .. 2020. 3. 14.
[R강의] 3. 변수에 숫자 데이터 입력 도구 R로 푸는 통계 3. 변수에 숫자 데이터 입력 R에서 데이터를 입력하는 방법을 배워봅시다. 문자데이터, 논리데이터 등 데이터 종류가 여러개 있는데, 오늘은 숫자만 다룰겁니다. 3.1 변수에 숫자 데이터 입력 1) 숫자 하나 입력(스칼라 or 크기가 1인 벡터) 변수에 숫자 하나를 입력할 때는 아래와 같이 등호만 사용해주면 됩니다. >a=3 a에 3이 입력됩니다. > a+3 [1] 6 숫자 처럼 연산도 가능하구요. a에 다른 수를 할당하면, a가 바뀝니다. > a=5 > a [1] 5 2) 여러 숫자 입력 (벡터) 여러 데이터로 이루어진 집합을 하나의 변수에 입력할 때를 알아봅시다. x={1,12,23,34,45,56,67} 위와 같이 어떤 자연수들의 집합이 있습니다. X라는 변수에 저장하고 싶을 때.. 2020. 3. 14.
[R강의] 2. 기본연산자, 기본함수 도구 R로 푸는 통계 2. 기본연산자, 기본함수 R의 기본연산자와 기본함수에 대해 공부해봅시다. 2.1 기본연산자 1) 덧셈 > 2+2 [1] 4 2) 뺄셈 >5-2 [1] 3 3) 곱셈 >3*5 [1] 15 4) 나눗셈 >2/5 [1] 0.4 5) n제곱 >3^2 [1] 9 [1]은 1행이라는 의미입니다. 나중에 행렬을 정의할건데 그때 이 표시의 의미를 이해하실수 있을거에요. 2.2 기본함수 1) 로그 > log(2) [1] 0.6931472 2) 익스포넨셜 > exp(2) [1] 7.389056 3) 삼각함수 > sin(pi/2) [1] 1 > cos(pi/2) [1] 6.123032e-17 > tan(pi/2) [1] 1.633124e+16 4) 제곱근 > sqrt(2) [1] 1.414214 영상.. 2020. 3. 14.
[R강의] 1. R 설치하기 도구 R로 푸는 통계 1. R 설치하기 1. 구글에 R다운로드 라고 검색합니다. 첫번째 사이트를 클릭합니다. 2. 표시한 부분을 클릭합니다. (다운로드가 진행됩니다.) 3. 설치를 진행합니다. 4. R을 실행하고 글자 크기를 바꿔봅시다. 편집->GUI 설정에 들어갑니다. 5. size를 변경해줍니다. 영상이 더 편하신 분 2020. 3. 14.
반응형