R data.table - 大id的
问题描述:
任何人都可以解释为什么这个工程就像它的工作...这似乎是一个大数字,我认为是一个问题。有没有一种方法可以解决它而不会将id列转换为字符?R data.table - 大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)]
谢谢任何帮助!
答
运行代码前设置为options(scipen=20)
。这应该给你结果你想
scipen
文档:
scipen:整数。 决定以固定或指数表示法打印数值时应用的惩罚。积极的价值观倾向于固定和消极的朝向科学记数法:固定记数法将是首选的,除非它超过科比数字。
它按预期工作。你的问题是什么? '数据[,.N,通过= ID]# ID N 1:11111111111111 1 2:11111111111112 1' – akrun
我得到ID N 1:1.111111e + 13 2 – Daniel
我得到与前两个: ID N 1:1.111111e + 13 2 与as.character: as.characterñ 1:11111111111111 1 2:11111111111112 1 – Daniel