R 计算因素组合
好的,这个问题看起来很简单,但我想不出来。基本上我有以下数据表结构:R 计算因素组合,r,dataframe,data.table,R,Dataframe,Data.table,好的,这个问题看起来很简单,但我想不出来。基本上我有以下数据表结构: dt =data.table(group=sample(c("A","B"),10,replace=T), fact=sample(c("Q","R","S","v"),10,replace=T)) group fact 1 B Q 2 B S 3 A S 4 B S 5 A Q 6 B v 7 A v 8 A S 9 B Q 10 A R
dt =data.table(group=sample(c("A","B"),10,replace=T),
fact=sample(c("Q","R","S","v"),10,replace=T))
group fact
1 B Q
2 B S
3 A S
4 B S
5 A Q
6 B v
7 A v
8 A S
9 B Q
10 A R
现在我想找出每一组和事实组合的数量
group fact V1
1 B Q 2
2 B S 2
3 A S 2
4 B S 1
5 A Q 1
6 B v 1
etc.
我似乎无法使用data.table来理解它。
下面只给了我一些独特的因素
dt=dt[,length(unique(fact)),by=list(group,fact)]
您可以使用
as.data.frame(table(dt$group, dt$fact))
然后可以将其转换回data.table和Freq上的子集=0等
或具有的data.table版本
dt[,list(freq=.N), by=list(group, fact)]
您可以使用
as.data.frame(table(dt$group, dt$fact))
然后可以将其转换回data.table和Freq上的子集=0等
或具有的data.table版本
dt[,list(freq=.N), by=list(group, fact)]
像这样使用
.N
:
dt[, .N, by=list(group, fact)]
阅读
帮助(“data.table”)
了解.N
及其有用的朋友。像这样使用.N
:
dt[, .N, by=list(group, fact)]
阅读
帮助(“data.table”)
了解.N
及其有用的朋友。以下是使用N()的dplyr
解决方案:
下面是一个使用n()
的dplyr
解决方案: