2

我正在使用 R 整理提供给我的数据(在 SAS 文件中),以便我可以将其批量插入 SQLserver 数据库。我遇到的问题是,有时数字字段在我读取它们后会被 R 转换。(前导 0 被删除,一些数字字段转换为科学记数法,长 ID 数字在第 15 位后变成乱码)。

将所有数据作为字符读入 R 可以解决这些问题。当我提供一个 csv 文件时,我可以使用 data.tables 'fread'函数来指定 colClasses = 'character' 但是据我所知,对于 Haven 包中的 'read_sas'函数不存在类似的东西。

是否有任何变通方法或额外的文档说明如何更好地处理和解决此问题?


编辑以突出显示问题(左值是数字,我想避免,右值是字符和我想要的):

1.

postcode <- c(0629,'0629') postcode [1] "629" "0629"

2.

id <- c(12000000,'12000000') id [1] "1.2e+07" "12000000"

3.

options(scipen=999) id <- c(123123123123123123123123,'123123123123123123123123') id [1] "123123123123123117883392" "123123123123123123123123"

如何直接从 SAS 导入数据,以便将数据框中的所有列作为字符数据类型读入(以避免插入 SQLserver 时出现数据质量问题)

4

0 回答 0