Ошибка округления в переменной информации из RxSpssData

Я обнаружил, как мне кажется, ошибку в том, как MicrosoftR обрабатывает метаданные из файлов.sav из SPSS.

Вот краткий обзор вида переменных:

ColumnA: 1 - Yes, 2 - No
ColumnB: 0.33 - Yes, 0.5 - Maybe, 0.66 - No, 0.99 - Why not, 1.00 - Yes, for sure.
ColumnC: A - Yes, B - No

Мой код:

library(RevoScaleR)

df <- RxSpssData(
  "RoundingTest.sav", 
  stringsAsFactors = FALSE, 
  labelsAsInfo = TRUE, 
  labelsAsLevels = TRUE,
  mapMissingCodes = "none" 
)

test = rxImport(df)

Данные читаются в порядке:

  ColumnA ColumnB ColumnC Var0001
1     Yes    0.33     Yes      NA
2      No    0.50     Yes      NA
3     Yes    0.66      No      NA

Значение InfoCodes, однако, не:

attr(test$ColumnA, ".rxValueInfoCodes") # NULL
attr(test$ColumnB, ".rxValueInfoCodes") # "0" "0" "0" "0" "1"
attr(test$ColumnC, ".rxValueInfoCodes") # NULL

Кажется, что он использует какую-то функцию пола для метаданных в числовых столбцах, прежде чем преобразовывать их в символьные строки.

Я пытался использовать options(scipen = 12) а также rxOptions(numDigits = 12) без успеха. С помощью rxDataStep вместо rxImport не работает Я считаю, что ошибка находится где-то в функции RxSpssData().

  • Кто-нибудь испытывал это с RxSpssData или любым другим типом файла?
  • Есть ли обходной путь?
  • Есть ли официальный способ сообщить об этом в Microsoft, если это настоящая ошибка?

Спасибо!

Кроме того, моя сессия информация:

R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

РЕДАКТИРОВАТЬ: добавлен образец SAV-файла в репозиторий GitHub здесь.

0 ответов

Другие вопросы по тегам