【发布时间】:2019-03-19 03:44:32
【问题描述】:
我有一个具有这种结构的数据集:
library(data.table)
dt <- data.table(
record=c(1:20),
area=rep(LETTERS[1:4], c(4, 6, 3, 7)),
score=c(1,1:3,2:3,1,1,1,2,2,1,2,1,1,1,1,1:3),
cluster=c("X", "Y", "Z")[c(1,1:3,3,2,1,1:3,1,1:3,3,3,3,1:3)]
)
我想汇总数据,以便针对给定分数(例如 1)确定每个区域中最常见的聚类。我还希望计算一些基本频率和百分比,输出如下所示:
dt_summary_for_1_score <- data.table(
area=c("A","B","C","D"),
cluster_mode=c("X","X","X","Z"),
cluster_pct = c(100,66.6,100,80),
cluster_freq = c(2,2,1,4),
record_freq = c(2,3,1,5)
)
理想情况下,我想要一个使用data.table 的解决方案。谢谢。
【问题讨论】:
-
你搜索过SO吗?肯定有使用带有 data.table 对象的聚合函数的例子吗?如果您已经完成搜索,但在应用答案时遇到困难,您应该引用实例并说明这些困难发生的位置
-
不清楚
cluster_pct、cluster_freq和record_freq来自哪里 -
它们是我想要的输出。因此,如果您对 data.table 进行了子集化,因此仅存在 1 的分数,这些值将与它们相关
-
我还在 SO 上进行了搜索以尝试找到答案,虽然有一些例子可以做类似的事情,但没有什么可以为自己的目的重新设计
-
出现平局怎么办
标签: r data.table aggregate summarize