R: Как читать в наборе данных SAS со всеми столбцами как символ
Я использую R, чтобы привести в порядок данные, предоставленные мне (в файле SAS), чтобы я мог массово вставить их в базу данных SQLserver. Проблема, с которой я сталкиваюсь, заключается в том, что иногда числовые поля преобразуются в R после того, как я их читаю, например (ведущий 0 сбрасывается, некоторые числовые поля преобразуются в научную запись, длинные идентификационные номера превращаются в бессмысленные после 15-й цифры).
Чтение всех данных в R как символ решает эти проблемы. Когда мне предоставляют файл csv, я могу использовать функцию data.tables 'fread', чтобы указать colClasses = 'character', однако, насколько мне известно, что-то подобное не существует для функции read_sas из пакета haven.
Есть ли какие-либо обходные пути или дополнительная документация о том, как я могу лучше подойти и решить эту проблему?
Изменить, чтобы выделить проблемы (левые значения являются числовыми и что я хочу избежать, правое значение как символ и что я хочу):
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)