当我使用下面的商店代码计算数据表中的行时:
DailyProduct[, .N, by = ANA_Code]
我得到14个商店代码,总行数为120,237 - 与DailyPRoduct相同的行数非常棒!
如果我然后获得商店代码的唯一列表:
unique(DailyProduct$ANA_Code)
我得到了21个商店代码,这比我上面的代码多,但实际上是正确的数字。
如果我将商店代码从数字转换为因子,一切都按预期显示,我得到21个商店,每个行数加起来为120,237
当我汇总数据时,这也是一个问题,销售价值是正确的,但缺少7个商店代码。
在执行这些操作时,数据表如何处理数值与因子之间存在根本区别吗?
我不明白为什么会这样,所以我无法提供一个例子,因此道歉。
答案 0 :(得分:2)
如果' ANA_Code'是一个大整数,在用fread
读取它时可能会发生错误的输出。一种方法是加载bit64
库,然后使用fread
library(bit64)
library(data.table)
DailyProduct <- fread("yourfile.csv")