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

R语言实现保留唯一行并添加重复行计数列的方法

解决方法

下面提供几种实用的实现方案,满足你保留唯一行并统计重复次数的需求:

方法一:dplyr包(tidyverse生态,简洁直观)

使用dplyr的count()函数可以直接按所有列分组统计,一步到位:

library(dplyr)

dat_count <- dat %>%
  count(across(everything()), name = "count")

across(everything())指定对所有列进行分组,name参数自定义新增的计数列名为count,运行后即可得到目标结果。

方法二:data.table包(高效处理大数据)

如果你的数据量较大,data.table的分组统计效率会更优:

library(data.table)

setDT(dat)
dat_count <- dat[, .(count = .N), by = names(dat)]

.N代表每组的行数,by = names(dat)表示按数据框的所有列分组。

方法三:基础R实现(无需额外依赖)

不想加载第三方包的话,可通过基础R函数组合实现:

# 获取所有唯一行
unique_rows <- unique(dat)
# 将每行转为字符串,统计各字符串出现次数
row_str <- apply(dat, 1, paste, collapse = "|")
count_table <- table(row_str)
# 为唯一行匹配对应次数
unique_rows$count <- count_table[apply(unique_rows, 1, paste, collapse = "|")]

该方法逻辑清晰,适合小数据量场景使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:33:13