[R 강의] 32. 행렬식, 고유값, 고유벡터
도구 R로 푸는 통계32. 행렬식, 고유값, 고유벡터 1. 행렬식 행렬식은 역행렬이 존재하는지 판단해줍니다. 일차연립방정식의 근이 유일하게 존재하는지 결정해주는 역할도 합니다. 수학적인 설명은 생략합니다. 행렬식을 구할 때는 det 함수를 사용합니다. > A=matrix(c(1,2,3,4),ncol=2)> A [,1] [,2][1,] 1 3[2,] 2 4> det(A)[1] -2 행렬식은 정방행렬(nxn행렬)인 경우에만 구할 수 있습니다. > B=matrix(c(1,2,3,4),ncol=4)> B [,1] [,2] [,3] [,4][1,] 1 2 3 4> det(B)Error in determinant.matrix(x, logarithm = TRUE, ...) : 'x'는 반드시 정방행렬이어야 합니다 2..
2020. 3. 21.
[R 강의] 31. 역행렬, 전치행렬
도구 R로 푸는 통계31. 역행렬, 전치행렬 1. 역행렬(Inverse matrix) 행렬의 역행렬은 자기자신과 곱한 결과가 단위행렬인 행렬입니다. A의 역행렬을 B라고 한다면 아래 등식이 성립합니다. A%*%B=I 역행렬은 solve 함수를 이용하여 구합니다. > A=matrix(c(1,2,3,4),ncol=2)> A [,1] [,2][1,] 1 3[2,] 2 4> B=solve(A)> B [,1] [,2][1,] -2 1.5[2,] 1 -0.5> A%*%B [,1] [,2][1,] 1 0[2,] 0 1 역행렬은 정방행렬(nxn행렬)에서만 정의가 가능합니다. 정방행렬이 아닌 경우에는 아래와 같은 오류가 발생합니다. > A=matrix(c(1,2,3,4),ncol=4)> A [,1] [,2] [,3] [..
2020. 3. 21.
[R 강의] 30. 행렬의 연산 2 (원소 간의 곱셈, 나눗셈, 거듭제곱)
도구 R로 푸는 통계 30. 행렬의 연산2 (원소 간의 곱셈, 나눗셈, 거듭제곱) 지난시간에는 행렬의 일반적인 덧셈과 곱셈에 대해 알아보았습니다. 오늘은 행렬 연산의 특수한 경우입니다. 원소 간의 곱셈, 나눗셈, 거듭제곱 방법에 대해 알아봅시다. 1. 행렬 원소 간의 곱셈 행렬의 곱셈에 사용했던 기호 %*% 와 달리, 일반 곱셈기호 *를 사용합니다. > mat1=matrix(c(1,2,3,4),ncol=2) > mat1 [,1] [,2] [1,] 1 3 [2,] 2 4 > mat2=matrix(c(1,2,3,4),ncol=2) > mat2 [,1] [,2] [1,] 1 3 [2,] 2 4 > mat1*mat2 [,1] [,2] [1,] 1 9 [2,] 4 16 2. 행렬 원소 간의 나눗셈 일반 나눗셈 기..
2020. 3. 19.
[R 강의] 29. 행렬의 연산(덧셈,곱셈)
도구 R로 푸는 통계 29. 행렬의 연산(덧셈,곱셈) 1. 행렬과 스칼라의 곱셈 행렬에 스칼라값을 곱하면 모든 요소에 동일하게 곱해집니다. > mat=matrix(c(1,2,3,4,5,6,7,8,9),ncol=3) > mat [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > 3*mat [,1] [,2] [,3] [1,] 3 12 21 [2,] 6 15 24 [3,] 9 18 27 2. 행렬의 덧셈 행렬의 덧셈은 같은 크기끼리만 가능합니다. > mat1=matrix(c(1,2,3,4),ncol=2) > mat1 [,1] [,2] [1,] 1 3 [2,] 2 4 > mat2=matrix(c(3,4,5,6),ncol=2) > mat2 [,1] [,2] [1,] 3 5 [..
2020. 3. 19.
[R 강의] 28. 행렬 내부 데이터에 접근하기
도구 R로 푸는 통계 28. 행렬 내부 데이터에 접근하기 행렬 내부 데이터에 접근하는 방법을 알아봅시다. 먼저 행렬을 하나 정의해봅시다. > mat=matrix(c(1,2,3,4,5,6),ncol=2) > mat [,1] [,2] [1,] 1 4 [2,] 2 5 [3,] 3 6 1행1열에 접근하겠습니다. 대괄호를 사용합니다. > mat[1,1] [1] 1 2행1열에 접근하겠습니다. > mat[2,1] [1] 2 한 행 전체에 접근해봅시다. 3행 전체에 접근해보겠습니다. 열을 입력하는 부분을 비우면 됩니다. > mat[3,] [1] 3 6 한 열 전체에 접근해봅시다. 2열 전체에 접근해보겠습니다. 행을 입력하는 부분을 비우면 됩니다. 열이 세로로 불러지진 않습니다. > mat[,2] [1] 4 5 6 1행..
2020. 3. 19.
[R 강의] 27. 행렬 정의하기 matrix
도구 R로 푸는 통계 27. 행렬 정의하기 matrix 1. 행렬 정의하기 행렬은 하나의 벡터를 행과 열로 나누는 방식으로 정의합니다. 3x3행렬을 만들고 싶다면, 원소가 9개인 벡터를 정의하고 원소 세 개씩 세 줄로 나열하는 것입니다. 예를 들어봅시다. > vec=c(1,2,3,4,5,6,7,8,9) > matrix(vec,ncol=3) [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 ncol은 열의 수, 즉 세로줄의 수를 뜻합니다. nrow(가로줄의 수)를 정의해도 됩니다. > matrix(vec,nrow=3) [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 행렬 안에 벡터를 직접 정의해줄 수도 있습니다. > mat=matri..
2020. 3. 19.
[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 강의] 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 강의] 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 강의] 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 코딩 연습문제] 두 데이터의 평균, 표준편차, 총합, 원소 수를 비교해주는 함수
(R 코딩실력 향상을 위한 연습문제입니다.) Question 두 데이터를 벡터로 입력받고, 두 데이터의 평균, 표준편차, 총합, 원소 수를 비교해주는 함수를 만들어 봅시다. 아래와 같은 결과가 출력되야 합니다. Answer 먼저 1강에서 배운 크기비교함수를 아래와 같이 변형하겠습니다. comp=function(a,b) { if (a>b) {results=">"} else if (a data1=c(10,23,15,24,15,26) > data2=c(15,25,16,17,28,34,15,23,74) > myfun(data1,data2) data1 data2 mean 18.83
2020. 3. 14.