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

如何筛选向量中重复次数不为指定次数的元素

如何筛选向量中重复次数不为指定次数的元素

嘿,这个问题很常见,我来给你几种简洁的解决方法:


方法一:基础R实现(无需额外包)

首先我们可以用table()函数统计向量中每个元素的出现频次,接着筛选出频次不等于2的元素值,最后从原向量中提取这些元素:

v <- c(1,2,2,3,3,3,4,4)

# 统计每个元素的出现次数
freq_table <- table(v)
# 筛选出出现次数不等于2的元素值
target_elements <- names(freq_table)[freq_table != 2]
# 从原向量中提取所有符合条件的元素实例
result <- v[v %in% target_elements]
# 查看结果
result
# 输出:[1] 1 3 3 3

如果只需要获取唯一的符合条件的元素值(而不是所有实例),直接用as.numeric(target_elements)即可,结果会是[1] 1 3。


方法二:使用tidyverse/dplyr包(更直观的语法)

如果你习惯用tidyverse系列工具,用dplyr可以写出可读性更强的代码:

library(dplyr)

v <- c(1,2,2,3,3,3,4,4)

# 获取唯一的符合条件的元素值
unique_targets <- tibble(value = v) %>%
  count(value) %>%
  filter(n != 2) %>%
  pull(value)

# 获取原向量中所有符合条件的元素实例
all_instances <- tibble(value = v) %>%
  group_by(value) %>%
  mutate(count = n()) %>%
  filter(count != 2) %>%
  pull(value)

运行后unique_targets会得到[1] 1 3,all_instances会得到[1] 1 3 3 3。


备注:内容来源于stack exchange,提问作者jo_

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 11:23:02