嗨我有一个数据框Y,如下所示
O T Dist
2 13 0.123
2 3 0.452
2 4 0.213
3 5 0.231
3 8 0.213
4 5 0.123
5 8 0.543
我希望创建一个新的数据框,它计算一个数字出现在O列和T列组合的总次数。输出应该看起来像。
P freq
2 3
3 3
4 2
5 3
8 2
13 1
提前感谢您的帮助
答案 0 :(得分:2)
这个怎么样?
as.data.frame(table(c(df$O, df$T)))
Var1 Freq
1 2 3
2 3 3
3 4 2
4 5 3
5 8 2
6 13 1
答案 1 :(得分:1)
counts = table(c(df$O,df$T))
new.df = data.frame(P=as.integer(names(counts)),Freq=as.integer(counts))
答案 2 :(得分:0)
这是一个使用data.table
的选项,我们在其中选择列" O"," T"在数据集" Y" (Y[-3]
),unlist
,创建" data.table"与setDT(list(..))
,分组' V1'并获得计数(.N
)
library(data.table)
setDT(list(unlist(Y[-3])))[,.N, keyby=V1]
# V1 N
#1: 2 3
#2: 3 3
#3: 4 2
#4: 5 3
#5: 8 2
#6: 13 1