반응형
any()
any(..., na.rm = FALSE)는 주어진 논리 벡터 중에 어느 하나라도 TRUE이면 TRUE를 반환합니다.
# 어느 하나라도 0미만 이면 TRUE 반환
> (x <- seq(-3, 3, by = 1))
[1] -3 -2 -1 0 1 2 3
> any(x < 0)
[1] TRUE
> if (any(x < 0)) cat("x는 음수를 포함하고 있습니다\n")
x는 음수를 포함하고 있습니다
all()
all(..., na.rm = FALSE)는 주어진 논리 벡터 모두가 TRUE이면 TRUE를 반환합니다. 어느 하나라도 FALSE가 있으면 FALSE를 반환합니다.
> (x <- seq(-3, 3, by = 1))
[1] -3 -2 -1 0 1 2 3
> all(x < 0)
[1] FALSE
> if (all(x >= -3 )) cat("x에 포함된 수는 모두 -3 이상입니다\n")
x에 포함된 수는 모두 -3 이상입니다
which()
which(x, arr.ind = FALSE, useNames = TRUE)는 벡터(또는 배열) x에서 TRUE인 것의 위치를 반환합니다. x가 배열인 경우 arr.ind = TRUE이면 배열형태의 위치를 반환합니다.
> (x <- 5:10)
[1] 5 6 7 8 9 10
> which(x == 7)
[1] 3
> x[which(x == 7)]
[1] 7
# 배열 위치 반환
> x <- 5:16
> x
[1] 5 6 7 8 9 10 11 12 13 14 15 16
# x를 2x2 행렬의 3층 배열로 만들기
> dim(x) <- c(2, 2, 3);
> x
, , 1
[,1] [,2]
[1,] 5 7
[2,] 6 8
, , 2
[,1] [,2]
[1,] 9 11
[2,] 10 12
, , 3
[,1] [,2]
[1,] 13 15
[2,] 14 16
# 벡터형태의 위치 반환
which(x == 15)
1] 11
# 배열형태의 위치 반환
> which(x == 15, arr.ind = TRUE)
dim1 dim2 dim3
[1,] 1 2 3
# 행렬 위치 반환 (배열과 유사)
> x <- matrix(5:16, 3, 4);
> x
[,1] [,2] [,3] [,4]
[1,] 5 8 11 14
[2,] 6 9 12 15
[3,] 7 10 13 16
# 벡터형태의 위치 반환
> which(x %% 3 == 0)
[1] 2 5 8 11
# 행렬형태의 위치 반환
> which(x %% 3 == 0, arr.ind = TRUE)
row col
[1,] 2 1
[2,] 2 2
[3,] 2 3
[4,] 2 4
# 데이터 프레임 위치 반환
# R 내장 데이터셋 women - 미국 여성 키(인치)와 몸무게(파운드)
> str(women)
'data.frame': 15 obs. of 2 variables:
$ height: num 58 59 60 61 62 63 64 65 66 67 ...
$ weight: num 115 117 120 123 126 129 132 135 139 142 ...
> which(women$height < 60)
[1] 1 2
> women[which(women$height < 60),]
height weight
1 58 115
2 59 117
which.min()
which.min(x)는 벡터 x의 최소값 위치를 반환합니다.
> x <- c(1:4, 0:5, 11); x
[1] 1 2 3 4 0 1 2 3 4 5 11
> which.min(x)
[1] 5
# 데이터프레임
# R 내장 데이터셋 women - 미국 여성 키(인치)와 몸무게(파운드)
> str(women)
'data.frame': 15 obs. of 2 variables:
$ height: num 58 59 60 61 62 63 64 65 66 67 ...
$ weight: num 115 117 120 123 126 129 132 135 139 142 ...
> which.min(women$weight)
[1] 1
> women[which.min(women$weight)]
height
1 58
2 59
3 60
4 61
5 62
6 63
7 64
8 65
9 66
10 67
11 68
12 69
13 70
14 71
15 72
which.max()
which.max(x)는 벡터 x의 최대값 위치를 반환합니다.
# 벡터
> x <- c(1:4, NA, 11, 0:5);
> x
[1] 1 2 3 4 NA 11 0 1 2 3 4 5
> which.max(x)
[1] 6
# 데이터프레임
# R 내장 데이터셋 women - 미국 여성 키(인치)와 몸무게(파운드)
> str(women)
> 'data.frame': 15 obs. of 2 variables:
> $ height: num 58 59 60 61 62 63 64 65 66 67 ...
> $ weight: num 115 117 120 123 126 129 132 135 139 142 ...
> which.max(women$weight)
> [1] 15
> women[which.max(women$weight),]
> height weight
> 15 72 164
isTRUE()
isTRUE(x)는 x가 TRUE이면 TRUE를 반환합니다. 유사한 것으로 isFALSE(x)가 있습니다.
> x <- TRUE
> isTRUE(x)
[1] TRUE
> isFALSE(x)
[1] FALSE
반응형
'R' 카테고리의 다른 글
[R 프로그래밍] 반복 함수 (0) | 2022.12.26 |
---|---|
[R 프로그래밍] 행렬 함수 (0) | 2022.12.26 |
[R 프로그래밍] 수학 함수 (0) | 2022.12.22 |
[R 프로그래밍] while() (0) | 2022.12.22 |
[R 프로그래밍] while() (0) | 2022.12.22 |