You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R语言统计向量中指定数值集合的出现次数

解决R语言中统计指定数值集合总出现次数的问题

嘿,我来帮你搞定这个统计问题!针对你需求的场景,我给你分享两种实用的解法,其中第二种更是简洁高效的最优选择。

方法一:利用频数表统计求和

这种方法先统计向量中所有元素的出现频次,再提取目标数值的频次相加,适合需要同时查看所有元素频次的场景:

# 定义示例向量和目标数值集合
my_vector <- c(1,2,3,4,4,5,6,5,7,8,9,10,5)
target_values <- c(5,4)

# 生成频数表并计算目标数值的总次数
freq_table <- table(my_vector)
# 注意table的名称是字符型,所以需要把目标数值转成字符索引
total_count <- sum(freq_table[as.character(target_values)])

# 输出结果
total_count  # 会返回5,符合预期

方法二:向量化筛选求和(最优解法)

这个方法利用R的向量化特性,直接筛选出属于目标集合的元素并统计数量,代码简洁且运行效率更高,尤其适合处理大向量:

# 同样定义向量和目标集合
my_vector <- c(1,2,3,4,4,5,6,5,7,8,9,10,5)
target_values <- c(5,4)

# 一步到位计算总次数
total_count <- sum(my_vector %in% target_values)

total_count  # 输出结果5

原理说明

my_vector %in% target_values会返回一个与原向量长度相同的逻辑向量,其中每个元素为TRUE表示对应位置的元素属于目标集合,FALSE则不属于。而sum()函数会自动将TRUE视为1,FALSE视为0,求和后就是目标数值的总出现次数。

内容的提问来源于stack exchange,提问作者Sean W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:08:34