【发布时间】:2016-12-30 14:31:36
【问题描述】:
谁能解释一下为什么它会像它一样工作......我认为这似乎是一个大数字的问题。有没有办法在不将 id 列转换为字符的情况下修复它?
library(data.table)
data <- data.table(id = c(11111111111111, 11111111111112))
data[id == 11111111111111]
data[as.numeric(id) == 11111111111111]
data[, .N, by = id]
data[, .N, by = as.numeric(id)]
data[, .N, by = as.character(id)]
感谢您的帮助!
【问题讨论】:
-
它按预期工作。你的问题是什么?
data[, .N, by = id]# id N 1: 11111111111111 1 2: 11111111111112 1 -
我得到 id N 1: 1.111111e+13 2
-
我得到前两个:id N 1: 1.111111e+13 2 with as.character: as.character N 1: 11111111111111 1 2: 11111111111112 1
-
我正在使用 R 3.3.2 和 data.table 1.10.0。
标签: r data.table