RxSpssData变量信息中的舍入错误

RxSpssData变量信息中的舍入错误,r,microsoft-r,R,Microsoft R,我发现了MicrosoftR处理SPSS中.sav文件元数据的方式中的一个缺陷 以下是变量视图的摘要: 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.

我发现了MicrosoftR处理SPSS中.sav文件元数据的方式中的一个缺陷

以下是变量视图的摘要:

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)
但是,valueInfoCodes不:

attr(test$ColumnA, ".rxValueInfoCodes") # NULL
attr(test$ColumnB, ".rxValueInfoCodes") # "0" "0" "0" "0" "1"
attr(test$ColumnC, ".rxValueInfoCodes") # NULL
它似乎在将数字列中的元数据转换为字符串之前对其使用了某种floor函数

我尝试过使用
选项(scipen=12)
rxOptions(numDigits=12)
,但没有成功。使用
rxDataStep
而不是
rxImport
不起作用。我相信错误在RxSpssData()函数中的某个地方

  • 有没有人在使用RxSpssData或任何其他文件类型时遇到过这种情况
  • 有解决办法吗
  • 如果它是一个真正的bug,有没有正式的方法向微软报告
谢谢

另外,我的会话信息:

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 repo中

您可以使用haven并执行等效的过程来查看结果吗?在此之前,我使用了一些库,如
Rz
foreign
memisc
。出于一些原因,我希望它能在MicrosoftR上运行,但是,唉,你可以,但很高兴能确认问题确实出在microsoft bitI上。我对其他软件包没有任何问题,如果这是你要问的,那很好(ish)!很高兴看到github重新编程。我明天去看看
R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)