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

如何在R语言中统计列表中数值组合的出现次数

统计连续数值对出现次数的R实现

针对你给出的数值列表,这里提供几种实用的R代码实现来统计连续数值对的出现次数:

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

直接通过拆分向量构造数值对,再用table统计:

x <- c(1,3,2,4,2,3,4,4,1,3,2,3,4,1)
# 生成连续数值对的字符串形式
pairs <- paste(head(x, -1), tail(x, -1), sep = ",")
# 统计每个数值对的出现次数
pair_counts <- table(pairs)

# 查看结果
pair_counts

运行后会输出类似这样的结果:

pairs
1,3 2,3 2,4 3,2 3,4 4,1 4,2 4,4 
   2    2    1    1    2    1    1    1 

刚好对应你提到的(2,3)和(1,3)各出现2次的需求。

如果想要保留数值对的二维结构(而非字符串),可以用数据框配合table:

pair_df <- data.frame(first = head(x, -1), second = tail(x, -1))
# 生成交叉统计表
cross_table <- table(pair_df)

# 查看特定数值对的次数,比如(2,3)
cross_table["2", "3"] # 输出2
cross_table["1", "3"] # 输出2

方法二:用dplyr实现(tidyverse风格)

如果你习惯tidyverse的语法,用dplyr可以得到更直观的结构化结果:

library(dplyr)
library(tibble)

x <- c(1,3,2,4,2,3,4,4,1,3,2,3,4,1)
x_df <- tibble(current = x)

x_df %>%
  mutate(next_val = lead(current)) %>% # 获取每个元素的下一个元素
  filter(!is.na(next_val)) %>% # 移除最后一行(无后续元素)
  count(current, next_val, name = "occurrences") # 统计每个数值对的次数

运行后会得到一个数据框,清晰展示每个数值对及其出现次数:

# A tibble: 8 × 3
  current next_val occurrences
    <dbl>    <dbl>        <int>
1       1        3            2
2       2        3            2
3       2        4            1
4       3        2            1
5       3        4            2
6       4        1            1
7       4        2            1
8       4        4            1

内容的提问来源于stack exchange,提问作者Boyuan Zhao

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:55:26