如何测试向量是否包含 R 中的给定元素?
在本文中,让我们讨论如何在 R 编程语言中检查向量中的特定元素。
方法一:使用循环
for 循环可用于检查元素是否属于向量。可以声明布尔标志并将其初始化为 False。只要元素包含在向量中,标志值就设置为 TRUE。该元素出现在相当于循环计数器值的相应位置。检查所需的时间操作等价于 O(n),其中 n 是向量的大小。
例子:
R
# declaring a vector
vec <- c(1,4,2,6)
# elements x to check in the vector
x <- 2
# declare a flag to know if element has
# occured
flag <- FALSE
# computing length of vector
size = length(vec)
# iterating over elements of vector
for (i in 1:size){
if(x==vec[i]){
flag <- TRUE
cat("Element present in vector at pos",i)
}
}
if(!flag)
print("Element is not present in the vector")
R
# declaring a vector
vec <- c("first","second","third","fourth")
# elements x and y to check in the vector
x <- "first"
y <-"is it present"
# check if the element x specified is present
# in the vector
print ("Check for x element")
x %in% vec
# check if the element y specified is present
# in the vector
print ("Check for y element")
y %in% vec
R
# declaring a vector comprising of
# complex numbers
vec <- c(1i,0+3i,5+6i,-7-2i)
# declaring element to check
x <- 1+3i
y <- -7-2i
# check for presence of element x
print ("Element x presence in vector")
any(x==vec)
# check for presence of element y
print ("Element y presence in vector")
any(y==vec)
R
# declaring a character vector
vec <- c('a','g','h','i')
# check for presence of element 'a'
print ("Element 'a' presence in vector")
any('a'==vec)
# check for presence of element 'y'
print ("Element 'y' presence in vector")
any('y'==vec)
输出
Element present in vector at pos 3
方法 2:%in%运算符
%in%运算符可用于 R 编程语言,以检查向量中是否存在元素。它返回一个布尔输出,如果元素存在则评估为 TRUE,否则返回 false。运算符之前的第一个操作数是检查元件和所述第二运算符是元件检查的序列。
例子:
电阻
# declaring a vector
vec <- c("first","second","third","fourth")
# elements x and y to check in the vector
x <- "first"
y <-"is it present"
# check if the element x specified is present
# in the vector
print ("Check for x element")
x %in% vec
# check if the element y specified is present
# in the vector
print ("Check for y element")
y %in% vec
输出
[1] “Check for x element”
[1] TRUE
[1] “Check for y element”
[1] FALSE
方法三: any()
any()方法也可用于检查提供的元素序列中是否存在任何元素。 R 编程语言中的 any函数确定给定向量中是否存在任何给定搜索词。它返回布尔值 TRUE 或 FALSE 值。 any() 方法使用表达式 == 来评估向量中元素的包含,其中第一个操作数是要检查的元素,右侧操作数是要检查包含的向量。
例子:
电阻
# declaring a vector comprising of
# complex numbers
vec <- c(1i,0+3i,5+6i,-7-2i)
# declaring element to check
x <- 1+3i
y <- -7-2i
# check for presence of element x
print ("Element x presence in vector")
any(x==vec)
# check for presence of element y
print ("Element y presence in vector")
any(y==vec)
输出
[1] “Element x presence in vector”
[1] FALSE
[1] “Element y presence in vector”
[1] TRUE
方法四:is.element()方法
这也可以用于类似的目的,以确定第一个参数指定的对象是否包含在属于第二个对象的对象中。
句法:
is.element(x,y)
例子:
电阻
# declaring a character vector
vec <- c('a','g','h','i')
# check for presence of element 'a'
print ("Element 'a' presence in vector")
any('a'==vec)
# check for presence of element 'y'
print ("Element 'y' presence in vector")
any('y'==vec)
输出
[1] “Element ‘a’ presence in vector”
[1] TRUE
[1] “Element ‘y’ presence in vector”
[1] FALSE