5.3 R 논리 함수
5.3.1 any()
any(..., na.rm = FALSE)
는 주어진 논리 벡터 중에 어느 하나라도 TRUE이면 TRUE를 반환합니다.
5.3.2 all()
all(..., na.rm = FALSE)
는 주어진 논리 벡터 모두가 TRUE이면 TRUE를 반환합니다. 어느 하나라도 FALSE가 있으면 FALSE를 반환합니다.
5.3.3 which()
which(x, arr.ind = FALSE, useNames = TRUE)
는 벡터(또는 배열) x에서 TRUE인 것의 위치를 반환합니다. x가 배열인 경우 arr.ind = TRUE이면 배열형태의 위치를 반환합니다.
# 배열 위치 반환
x <- 5:16
dim(x) <- c(2, 2, 3); x # x를 2x2 행렬의 3층 배열로 만들기
#> , , 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
# 데이터 프레임 위치 반환
str(women) # R 내장 데이터셋 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
5.3.4 which.min()
which.min(x)
는 벡터 x의 최소값 위치를 반환합니다.
# 데이터프레임
str(women) # R 내장 데이터셋 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
5.3.5 which.max()
which.max(x)
는 벡터 x의 최대값 위치를 반환합니다.
# 데이터프레임
str(women) # R 내장 데이터셋 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