如果我有这些数据:
One <- c(rep("X",4),rep("Y",3),rep("Z",2))
Two <- c(rep("A",2),rep("B",6),rep("C",1))
df <- data.frame(One,Two)
One Two
1 X A
2 X A
3 X B
4 X B
5 Y B
6 Y B
7 Y B
8 Z B
9 Z C
我想找到唯一对的频率(一,二)。我知道如果我想在列One
中查找不同元素的频率,我会table(df$one)
。独特对的频率怎么样?
答案 0 :(得分:2)
table(as.character(interaction(df)))
或者
library(qdap)
table(paste2(df))
# X.A X.B Y.B Z.B Z.C
# 2 2 3 1 1
答案 1 :(得分:1)
这是dplyr
解决方案。
library(dplyr)
df %>% group_by(One,Two) %>%
summarize(Count = n())
这会返回一个像这样的数据框
Source: local data frame [5 x 3]
Groups: One
One Two Count
1 X A 2
2 X B 2
3 Y B 3
4 Z B 1
5 Z C 1