Patrick's 데이터 세상
R 언어와 문법 - 기초 함수 본문
R의 기초 함수
① 수열 생성하기
rep : 기본적으로 두 개의 인수를 갖는데, 첫 번째 인수를 두 번째 인수만큼 반복하는 숫자 벡터를 생성.
ex)
rep(1, 3)
#Result
[1] 1 1 1
seq :기본적으로 두 개의 인수를 갖는데, 첫 인수부터 두 번째 인수까지 1씩 증가하는 수열의 숫자 벡터를 생성.
ex)
seq(1, 3)
#Result
[1] 1 2 3
※ by=n 옵션을 추가하여 1씩 증가하는 수열이 아닌 n씩 증가하는 수열을 생성할 수 있다.
ex)
seq(1, 11, by=2)
#Result
[1] 1 3 5 7 9 11
※ length=m 옵션을 추가하면 전체 수열의 개수가 m개가 되도록 자동적으로 증가하는 수열을 생성.
ex)
seq(1, 11, length=6)
#Result
[1] 1 3 5 7 9 11
seq(1, 11, length=8)
[1] 1.0000 2.428571 3.857143 ... 11.000000
※ rep 함수에 연속 증가하는 seq 함수의 형태를 인수로 사용하여 다음과 같은 수열을 생성할 수 있다.
이 경우 수열2:5, 즉 2, 3, 4, 5가 3번 반복된다는 것을 알 수 있다.
ex)
rep(2:5, 3)
#Result
[1] 2 3 4 5 2 3 4 5 2 3 4 5
② 기초적인 수치 계산
ex)
a=1:10
# 벡터 내부 각 숫자끼리 연산
a+a
a-a
a*a
a/a
R에서 벡터를 생성할 때는 기본적으로 열벡터가 만들어진다.
3행 1열의 열벡터 행렬을 생성하고, 이 행렬의 전치행렬 t(a), 즉 1행 3열의 행벡터 행렬을 생성한 후 두 행렬에 대해 서로 행렬곱을 실시하면 3행 3열의 행렬이 만들어진다.
ex)
a=c(2,7,3)
a
#Result
[1] 2 7 3
t(a)
#Result
[,1] [,2] [,3]
[1,] 2 7 3
A=a%*%t(a) # %*% 행렬곱
A
#Result
[,1] [,2] [,3]
[1,] 4 14 6
[2,] 14 49 21
[3,] 6 21 9
행렬 A에 대해서 *를 통해 연산을 실시하면 단순한 스칼라 곱의 결과를 얻을 수 있다. 또한 solve 명령어를 통해 주어진 행렬의
역행렬(inverse matrix)을 계산할 수 있다.
ex)
mx=matrix(c(23,41,12,35,67,1,24,7,53), nrow=3)
mx
#Result
[,1] [,2] [,3]
[1,] 23 35 24
[2,] 41 62 7
[3,] 12 1 53
5*mx
#Result
[,1] [,2] [,3]
[1,] 115 175 120
[2,] 205 335 35
[3,] 60 5 265
solve(mx)
[,1] [,2] [,3]
[1,] -0.35743822 0.18466969 0.13746848
[2,] ... ... ...
[3,] ... ...-0.01069087
mean, var, sd
ex)
a
#Result
[1] 1 2 3 4 5 6 7 8 9 10
mean(a)
#Result
[1] 5.5
var(a)
#Result
[1] 9.166667
sd(a)
#Result
[1] 3.02765
sum, median, log
ex)
sum(a)
#Result
[1] 55
median(a)
#Result
[1] 5.5
log(a)
#Result
[1] 0.0000000 0.6931472 1.0986123 ... 1.9459101
[8] 2.0794415 2.1972246 2.3025851
cov(공분산), cor(상관계수)
ex)
b=log(a)
cov(a,b)
#Result
[1] 2.112062
cor(a,b)
[1] 0.9516624
summary(사분위수, 최소값, 최대값, 중앙값, 평균 계산)
ex)
summary(a)
#Result
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00
'Programming > R' 카테고리의 다른 글
R 언어와 문법 - 사용자 정의 함수 (0) | 2020.06.25 |
---|---|
R 언어와 문법 - 반복 구문과 조건문 (0) | 2020.06.24 |
R 언어와 문법 - 데이터 핸들링 (0) | 2020.06.24 |
R 언어와 문법 - 외부 데이터 불러오기 (0) | 2020.06.24 |
R 언어와 문법 - 데이터 구조 (0) | 2020.06.24 |