Ошибка при загрузке пакета SASxport: объект 'label <-. Data.frame' не экспортируется в 'namespace: Hmisc'

Я пытаюсь прочитать данные в формате XPT в R (формат можно найти, например, в данных NHANES). Я нашел две функции, которые делают это:

library("Hmisc")
sasxport.get("C:/path/file.XPT")

а также

library("SASxport")
read.xport("C:/path/file.XPT")

sasxport.get работает, так что я в основном хорошо, но все же достаточно любознательный, чтобы понять (и решить) следующую ошибку: после установки SASxport пакет, я не могу загрузить его. Когда я бегу library("SASxport")Я получаю сообщение об ошибке:

Error: package or namespace load failed for ‘SASxport’:
 object ‘label<-.data.frame’ is not exported by 'namespace:Hmisc'

Приняв это предложение, я также побежал

remove.packages(c("SASxport", "Hmisc"))
install.packages('Hmisc', dependencies = TRUE)
install.packages('SASxport', dependencies = TRUE)

что не изменило сообщение об ошибке.


Это мое sessionInfo():

R version 3.4.3 (2017-11-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252    LC_MONETARY=German_Germany.1252
[4] LC_NUMERIC=C                    LC_TIME=German_Germany.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] Hmisc_4.1-1     ggplot2_2.2.1   Formula_1.2-2   survival_2.41-3 lattice_0.20-35

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.14        pillar_1.0.1        compiler_3.4.3      RColorBrewer_1.1-2  plyr_1.8.4         
 [6] base64enc_0.1-3     iterators_1.0.9     tools_3.4.3         rpart_4.1-11        digest_0.6.13      
[11] tibble_1.4.1        gtable_0.2.0        htmlTable_1.11.1    checkmate_1.8.5     rlang_0.1.6        
[16] icenReg_2.0.7       Matrix_1.2-12       foreach_1.4.4       rstudioapi_0.7      yaml_2.1.16        
[21] gridExtra_2.3       coda_0.19-1         stringr_1.2.0       cluster_2.0.6       knitr_1.18         
[26] htmlwidgets_0.9     grid_3.4.3          nnet_7.3-12         data.table_1.10.4-3 foreign_0.8-69     
[31] latticeExtra_0.6-28 magrittr_1.5        scales_0.5.0        backports_1.1.2     codetools_0.2-15   
[36] htmltools_0.3.6     splines_3.4.3       colorspace_1.3-2    stringi_1.1.6       acepack_1.4.1      
[41] lazyeval_0.2.1      munsell_0.4.3   

1 ответ

Решение

Последнее обновление SASxport произошло почти два года назад (2016-03-11). Итак Hmisc пакет, который он импортирует, может измениться. Просматривая архив Hmisc, я обнаружил, что номер версии 2016-03-11 равен 3.17-2. Таким образом, установка этой версии устраняет проблему:

library("devtools")
install_version("Hmisc", version = "3.17-2")

Две причины говорят против использования SASxport в этом случае:

  1. Вам нужно использовать старую версию пакета, которая может помешать вашей работе на последующих этапах.
  2. SASxport потребности Hmisc для задачи, которая Hmisc можно сделать уже само собой, так SASxport расходуется при чтении в файлах XPT.
Другие вопросы по тегам