指数表示法不准确

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

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

最佳答案 当您将变量用作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
点赞