R read_delim() 读取数据时改变值

R read_delim() changes values when reading data

我正在尝试使用 read_delim() 读取制表位分隔的 csv 文件。由于某种原因,该函数似乎更改了整数值中的某些字段条目:

# Here some example data
# This should have 3 columns and 1 row 
file_string = c("Tage\tID\tVISITS\n19.02.01\t2163994407707046646\t40")

# reading that data using read_delim()
data = read_delim(file_string, delim = "\t")

view(data)
data$ID
2163994407707046656 # This should be 2163994407707046646 

我完全不明白这里发生了什么。如果我将 col 类型更改为字符,则条目保持不变。有人对此有解释吗?

很高兴有任何帮助!

您的号码位数太多,不适合 R 对象。根据 IEEE 754 规范,double 的精度为 53 位,大约为 53 位。一个有 15 位十进制数字的数字。您使用 as.double("2163994407707046646").

达到该限制