对于 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
我很难想出一个代码,让我可以将主题(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