【发布时间】:2015-08-01 04:43:42
【问题描述】:
我正在使用 R 处理人口普查数据,这些数据使用非常长的数字 GEOID 来识别地理位置。我面临的问题是,当使用write_csv(来自readr 包)写出处理后的数据时,它是以科学计数法编写这些GEOID。有没有办法解决这个问题?
注意:我可以通过将scipen 选项设置为足够大的值来切换 R 控制台上的科学记数法显示。但是这个设置似乎没有扩展到readr 库中。
这是一个玩具数据集:
library(dplyr)
library(readr) # which is the package with write_csv
(tbl_df(data.frame(GEOID = seq(from=60150001022000, to=60150001022005, 1))))
Source: local data frame [6 x 1]
GEOID
1 60150001022000
2 60150001022001
3 60150001022002
4 60150001022003
5 60150001022004
6 60150001022005
write_csv((tbl_df(data.frame(GEOID = seq(from=60150001022000, to=60150001022005, 1)))), "test.csv")
这是我目前得到的。我正在寻找一种方法来获得与上述相同的数字:
GEOID
6.02E+13
6.02E+13
6.02E+13
6.02E+13
6.02E+13
6.02E+13
【问题讨论】:
-
你能准备一个小reproducible example来说明问题吗?您确定要将它们视为数值吗?也许将它们转换为字符/因子值?
-
我想继续使用数字类型。最好知道如何抑制文件写入的科学记数法。