【发布时间】:2017-02-21 14:08:57
【问题描述】:
我有一个 20 年间对大约 200 家美国公司的每日观察数据集。我想构建一个每天取值 1-10 的组变量,具体取决于例如公司的规模。我正在使用 data.table 和函数 ntile(size,10) 来创建组。
我试过了
DT[,decile:=(ntile(size,10)),by=date]
但它不起作用。
DT 是我的data.table,其中包括变量日期、大小、价格、公司ID 等
【问题讨论】:
-
什么不完全有效?结果是不是和预期的不一样?有错误吗?
-
你能发布一些示例数据吗?
-
带有一些模拟数据的可重现示例会有所帮助
-
分配 (
:=) 不起作用,因为原始数据集的行数与新的ntile输出不同。请展示一个可重现的小示例以及基于该示例的预期输出 -
我的意图是创建 10 个组,每个组由大约 20 家公司组成。第 1 组将是第 t 天的 20 家最小的公司,由 Size 变量衡量,第 2 组是第 t 天的 20 家第二小的公司,依此类推,然后第 10 组是第 t 天的 20 家最大的公司。
标签: r data.table