对于 A 列中的值,B 列的值出现了多少次?

How many times does the value for column B appear for a value in column A?

我很难想出一个代码,让我可以将主题(B 列)与名称(A 列)匹配,并为 B 与 A 匹配的次数(或多少次)创建一个频率列两者一起出现的次数)。 A 列和 B 列是较长名称的代码。

我想也许可以使用 plyr 中的计数函数,但无法使其工作。也许你可以告诉我我可以用什么来编写代码?

例如我有一个 table:

**Col A Col B**
1 38
1 6
1 38
2 38
2 7
2 7
2 8
2 7

我要找的结果是

**Col A Col B freq**
1 38 2
1 6 1
2 38 1
2 7 3
2 8 1

所以数字38在“1”中出现了两次。 6只出现过一次。等等。 我有 600 行数据,无法想出有用的甚至是近距离调用代码。 非常感谢您的帮助!

使用 dplyr 进行汇总和计数:

library(dplyr)

df2 <- df %>%
  group_by(col1, col2) %>%
  summarise(count = n()) %>%
  ungroup()

returns:

   col1  col2 count
  <dbl> <dbl> <int>
1     1     6     1
2     1    38     2
3     2     7     3
4     2     8     1
5     2    38     1