我导入了一个包含大数字的数据集,这些数据自动转换为指数表示法.因为我必须看到完整的数字,所以我使用了选项(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