在R中查找向量元素的函数

在R中查找向量元素的函数,r,R,我需要定义一个函数,它包含两个参数,一个向量V,一个特定值K,格式如下count(V,K),并返回V中K的出现次数 vec <- c(1,2,2,2,3,3,4,4,4,4,5) count(vec, 2) # Should return 3 - 2 occurs three times in vec count(vec, 4) # Should return 4 count(vec, 8) # Should return 0 - 8 is not found in vec

我需要定义一个函数,它包含两个参数,一个向量
V
,一个特定值
K
,格式如下
count(V,K)
,并返回
V
K
的出现次数

vec <- c(1,2,2,2,3,3,4,4,4,4,5)  
count(vec, 2)  # Should return 3 - 2 occurs three times in vec  
count(vec, 4)  # Should return 4 
count(vec, 8)  # Should return 0 - 8 is not found in vec 

vec其中任何一项都应该有效:

sum(vec==2)    # sum of logicals, TRUE==1
length(vec[vec==2])  #logical indexing
table(vec)["2"]   # alpha indexing of table object

应适用于各种类型的
K

count <- function(V, K) {
    length(subset(V, V==K))
}

count适用于长度不太长的
vec
长度:
rle(分拣(vec))


根据Joshua的评论:根据您的数据,您可能需要使用
floor
或类似函数来确保
vec
的“相等”元素被视为相同的。

请注意,大多数答案只适用于整数。由于浮点精度的原因,双精度更难。这是一个家庭作业问题吗?如果是这样的话,请给它贴上这样的标签。@SachaEpskamp——这一点很好。我应该自己问的。