벡터에 지정된 요소가 포함되어 있는지 여부 테스트
벡터에 주어진 값이 포함되어 있는지 확인하는 방법은 무엇입니까?
둘 다match()
(첫 번째 등장 이후) 및%in%
(Boolean 반환) 함수는 이를 위해 설계되었습니다.
v <- c('a','b','c','e')
'b' %in% v
## returns TRUE
match('b',v)
## returns the first location of 'b', in this case: 2
is.element()
보다 읽기 쉬운 코드를 만들 수 있으며, 와 동일합니다.%in%
v <- c('a','b','c','e')
is.element('b', v)
'b' %in% v
## both return TRUE
is.element('f', v)
'f' %in% v
## both return FALSE
subv <- c('a', 'f')
subv %in% v
## returns a vector TRUE FALSE
is.element(subv, v)
## returns a vector TRUE FALSE
출력을 기준으로 옵션을 그룹화하겠습니다.모든 예제에 대해 다음 벡터를 가정합니다.
v <- c('z', 'a','b','a','e')
존재 여부 확인:
%in%
> 'a' %in% v
[1] TRUE
아무렇게나
> any('a'==v)
[1] TRUE
is.substant
> is.element('a', v)
[1] TRUE
첫 번째 항목 찾기:
매치()
> match('a', v)
[1] 2
인덱스의 벡터로 모든 발생을 찾는 경우:
어느 쪽이
> which('a' == v)
[1] 2 4
모든 상황을 논리 벡터로 찾는 경우:
==
> 'a' == v
[1] FALSE TRUE FALSE TRUE FALSE
편집: 댓글에 언급된 이유로 목록에서 grep() 및 grepl() 제거
any() 함수는 읽을 수 있는 코드를 만듭니다.
> w <- c(1,2,3)
> any(w==1)
[1] TRUE
> v <- c('a','b','c')
> any(v=='b')
[1] TRUE
> any(v=='f')
[1] FALSE
사용할 수 있습니다.%in%
연산자:
vec <- c(1, 2, 3, 4, 5)
1 %in% vec # true
10 %in% vec # false
또한 "어떤" 요소가 다음과 같이 사용될 수 있는지의 위치를 찾기 위해
pop <- c(3, 4, 5, 7, 13)
which(pop==13)
대상 벡터에 포함되지 않은 요소를 찾기 위해 다음을 수행할 수 있습니다.
pop <- c(1, 2, 4, 6, 10)
Tset <- c(2, 10, 7) # Target set
pop[which(!(pop%in%Tset))]
저는 이런 목적으로 grep()와 grepl()을 정말 좋아합니다.
grep()는 일치하는 위치를 나타내는 정수 벡터를 반환합니다.
yo <- c("a", "a", "b", "b", "c", "c")
grep("b", yo)
[1] 3 4
grepl()은 일치하는 위치에 "TRUE"가 있는 논리 벡터를 반환합니다.
yo <- c("a", "a", "b", "b", "c", "c")
grepl("b", yo)
[1] FALSE FALSE TRUE TRUE FALSE FALSE
이러한 함수는 대소문자를 구분합니다.
벡터에 요소가 존재하는지 확인하는 또 다른 옵션은 다음과 같습니다.%in{}%
의 구문inops
다음과 같은 패키지:
library(inops)
#>
#> Attaching package: 'inops'
#> The following object is masked from 'package:base':
#>
#> <<-
v <- c('a','b','c','e')
v %in{}% c("b")
#> [1] FALSE TRUE FALSE FALSE
reprex 패키지(v2.0.1)에 의해 2022-07-16에 생성되었습니다.
언급URL : https://stackoverflow.com/questions/1169248/test-if-a-vector-contains-a-given-element
'programing' 카테고리의 다른 글
Windows 양식 테스트를 자동화할 수 있는 방법이 있습니까? (0) | 2023.06.20 |
---|---|
R과 함께 Win7 64비트에서 rJava 패키지 사용 (0) | 2023.06.20 |
if-elif-elif-else 조건을 기반으로 새 열 생성 (0) | 2023.06.20 |
Python에서 dict.clear()와 {} 할당 간의 차이 (0) | 2023.06.15 |
가피 가져오기.auth2 in angular 2 type 스크립트 (0) | 2023.06.15 |