5.15 벡터의 연산 함수의 예

숫자형 벡터의 연산과 관련하여 주요 함수들을 알아두면 편리합니다. 다음에서 몇 가지 예를 살펴 보겠습니다.

# 벡터와 관련된 알아두면 좋은 함수
# 데이터
x <- c(1, 4, -4, 8, -2)
y <- c(3, 2, -2, 4, -1)

# 요소 각각에 적용되는 함수
sqrt(x)                        # 각 요소의 제곱근을 반환합니다.
## Warning in sqrt(x): NaN이 생성되었습니다
## [1] 1.000000 2.000000      NaN 2.828427      NaN
abs(x)                         # 각 요소의 절대값을 반환합니다.
## [1] 1 4 4 8 2
# 요소의 전체의 합계, 곱하기
sum(x)                         # 모든 요소의 합을 반환합니다.
## [1] 7
prod(x)                        # 모든 요소의 곱을 반환합니다.
## [1] 256
diff(x)                        # 이전 요소와의 차를 반환합니다.
## [1]   3  -8  12 -10
cumsum(x)                      # 원소의 누적 합을 반환합니다.
## [1] 1 5 1 9 7
cumprod(x)                     # 원소의 누적 곱을 반환합니다.
## [1]    1    4  -16 -128  256
# 기본 통계량
min(x)                         # 최소값을 반환합니다. 
## [1] -4
max(x)                         # 최대값을 반환합니다.
## [1] 8
summary(x)                     # 통계적 요약 정보를 반환합니다.
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    -4.0    -2.0     1.0     1.4     4.0     8.0
mean(x)                        # 평균을 반환합니다.
## [1] 1.4
median(x)                      # 중앙값을 반환합니다.
## [1] 1
var(x)                         # 분산을 반환합니다.
## [1] 22.8
sd(x)                          # 표준편차를 반환합니다.
## [1] 4.774935
# 공분산과 상관관계
cov(x, y)                      # x와 y의 공분산을 반환합니다.
## [1] 11.15
cor(x, y)                      # x와 y의 상관관계를 반환합니다.
## [1] 0.9021319
# 벡터의 범위와 분위수
range(x)                       # x의 범위를 반환합니다.
## [1] -4  8
quantile(x)                    # x의 최대, 최소, 사분위수 값을 반환합니다.
##   0%  25%  50%  75% 100% 
##   -4   -2    1    4    8
# 요소의 갯수
length(x)                      # 벡터의 길이를 반환합니다.
## [1] 5
# 정렬 함수
sort(x)                        # 오름차순으로 정렬된 결과를 반환합니다.
## [1] -4 -2  1  4  8
sort(x, decreasing = TRUE)     # 내림차순으로 정렬된 결과를 반환합니다.
## [1]  8  4  1 -2 -4
order(x)                       # 오름차순으로 정렬된 벡터 요소의 번호를 반환합니다.
## [1] 3 5 1 2 4
# 집합 함수
union(x, y) # 두 벡터의 합집합, 중복 제외.
## [1]  1  4 -4  8 -2  3  2 -1
intersect(x, y) # 두 벡터의 교집합
## [1]  4 -2
setdiff(x, y) # 두 벡터의 차집합
## [1]  1 -4  8
# 중복값을 제외한 벡터 생성
d <- c(1, 2, 3, 1, 1, 3, 2, 4) 
uniq_d <- unique(d)             # uniq_d 는 (1, 2, 3, 4)가 됩니다.
uniq_d
## [1] 1 2 3 4
# sample() 함수를 이용한 벡터 생성
samp.data <- sample(1:5, 20, rep=TRUE)    # 1:5까지의 숫자를 복원추출(rep=TRUE)하여 20개 생성합니다.
samp.data                                  
##  [1] 3 2 2 2 4 4 1 1 5 1 4 4 4 1 3 5 3 1 3 4