R语言 计算给定向量中的特定值
在这篇文章中,我们将讨论如何在R编程语言中找到一个给定向量中的特定值。为了找到一个给定值的频率,可以采用两种方法,下面将讨论这两种方法。
方法1:原生方法
我们可以用for循环遍历R语言中的向量,然后检查该元素是否与给定值相等。一个计数器被维护着,每当数值匹配时,它就增加1。如果该元素不存在,计数器返回值为0。该方法的时间复杂度为O(n),其中n为矢量的大小。
例子
# declaring a vector
vec = c(1,2,3,4,2,1,4,6)
# printing original vector
print("Original Vectors:")
print(vec)
# declaring count = 0
count = 0
# given value
x = 4
# looping over vector values
for( i in vec){
# check if the value is equal to x
if(vec[i]==x){
# increment counter by 1
count= count + 1
}
}
print("Count given value in above vector:")
# check which values are equal to the given
# value and calculate sum of it
print (count)
输出
[1] “Original Vectors:”
[1] 1 2 3 4 2 1 4 6
[1] “Count given value in above vector:”
[1] 2
方法2: 在R中使用sum()方法
sum()方法可以用来计算函数参数中出现的数值的总和。在这里,我们指定一个逻辑表达式作为sum()函数的参数,该函数计算与指定值相等的值的总和。如果该值不存在,sum方法就会返回0作为输出。该方法的时间复杂度为O(n),其中n为矢量的大小。
语法
sum(vec == given_val)
其中,vec是向量,given_val是要检查向量中是否存在的给定值。
例子
# declaring a vector
vec = c("a","g","a","y","s","a","abcs")
# printing original vector
print("Original Vectors:")
print(vec)
print("Count given value in above vector:")
# check which values are equal to the given
# value and calculate sum of it
print(sum(vec=="a"))
输出
[1] “Original Vectors:”
[1] “a” “g” “a” “y” “s” “a” “abcs”
[1] “Count given value in above vector:”
[1] 3