指数表示法不准确

时间:2017-02-19 16:55:58

标签: r

我导入了一个包含大数字的数据集,这些数据自动转换为指数表示法。因为我必须看到完整的数字,所以我使用了选项(scipen = 999)。我发现导入的数字与数据集中的原始数字不相等。例如,5765949338897345178已更改为5765949338897345536.

这些数字不一样怎么样?奇怪的是,当我使用:(dim_alias1 $ id == 5765949338897345536)和(dim_alias1 $ id = 5765949338897345178)时,它返回相同的rownumber。这怎么可能?

1 个答案:

答案 0 :(得分:2)

当您将变量用作id号时,它不需要是数字。所以在阅读时要set the column class

示例:

dat <- data.frame(id=12345, x=1)
write.table(dat, tmp <- tempfile())
dat2 <- read.table(tmp, colClasses = c(id="character"))
str(dat2)

#'data.frame':  1 obs. of  2 variables:
# $ id: chr "12345"
# $ x : int 1