r - 通过保留所有行来查找重复行计数

标签 r dataframe duplicates

<分区>

我有一个数据框df1

df1:

    a  c
1:  1  6
2:  2  8
3:  3  1
4: 45  3
5:  2  8

我需要找到重复的行数,同时保留重复的行。结果应该是这样的:

    a  c count
1:  1  6   1
2:  2  8   2
3:  3  1   1
4: 45  3   1  
5:  2  8   2

因为第 2 行和第 5 行是重复的。但我只能得到能够给出答案的解决方案

    a  c count
1:  1  6   1
2:  2  8   2
3:  3  1   1
4: 45  3   1  

通过做

 df1<-data.table(df1)    
 df1[, .N, by = list(a,c)]

我怎样才能得到想要的结果?

最佳答案

您也可以在 base R 中执行此操作:

df1$count <- with(df1, ave(a, list(a, c), FUN = length))

df1
#     a c count
# 1:  1 6     1
# 2:  2 8     2
# 3:  3 1     1
# 4: 45 3     1
# 5:  2 8     2

关于r - 通过保留所有行来查找重复行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22946254/

相关文章:

r - 高效创建三对角矩阵

python - 如何将数据框中的所有对象类型值转换为 int

python - 是否有一个 pandas 函数可以对数据框中的一组前行元素求和?

python - 列出嵌套字典中的重复值

java - 没有重复的集合(基于 id)但保留最高版本号

java - 如何从 Hashmap 中删除重复的键

c - 字符串未在 Rcpp 的此范围内声明

r - 将函数列表应用于矩阵并返回矩阵作为 R 中的结果

python - 在一张图中绘制来自不同数据框的多个箱线图

r - 在 R 中分配向量的一半