简体   繁体   English

R data.table和STRING_ELT()错误:如何修复'character vector'vs'char'错误?

[英]R data.table and STRING_ELT() error: How to fix 'character vector' vs 'char' error?

After updating from R 3.3 to R 3.4 I have this error when using data.table package: 从R 3.3更新到R 3.4之后,在使用data.table包时出现此错误:

STRING_ELT() can only be applied to a 'character vector', not a 'char'

Has anyone experienced the same? 有人经历过吗? I'm thinking about downgrading to "fix" this. 我正在考虑降级以“修复”此问题。

This is my session information: 这是我的会话信息:

> sessionInfo()
R version 3.4.0 (2017-04-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.2 LTS

Matrix products: default
BLAS: /usr/lib/libblas/libblas.so.3.6.0
LAPACK: /usr/lib/lapack/liblapack.so.3.6.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8       
 [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

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

other attached packages:
 [1] bindrcpp_0.2      purrrlyr_0.0.2    readxl_1.0.0      stringr_1.2.0    
 [5] bit64_0.9-7       bit_1.1-12        dtplyr_0.0.2      data.table_1.10.4
 [9] dplyr_0.7.1       purrr_0.2.2.2     readr_1.1.1       tidyr_0.6.3      
[13] tibble_1.3.3      ggplot2_2.2.1     tidyverse_1.1.1  

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.11     cellranger_1.1.0 compiler_3.4.0   plyr_1.8.4       bindr_0.1       
 [6] forcats_0.2.0    tools_3.4.0      jsonlite_1.5     lubridate_1.6.0  nlme_3.1-131    
[11] gtable_0.2.0     lattice_0.20-35  pkgconfig_2.0.1  rlang_0.1.1      psych_1.7.5     
[16] parallel_3.4.0   haven_1.0.0      xml2_1.1.1       httr_1.2.1       hms_0.3         
[21] grid_3.4.0       glue_1.1.1       R6_2.2.2         foreign_0.8-69   modelr_0.1.0    
[26] reshape2_1.4.2   magrittr_1.5     scales_0.4.1     rvest_0.3.2      assertthat_0.2.0
[31] mnormt_1.5-5     colorspace_1.3-2 stringi_1.1.5    lazyeval_0.2.0   munsell_0.4.3   
[36] broom_0.4.2     

Totally stupid solution: 完全愚蠢的解决方案:

  1. Uninstall everything with apt-get uninstall + apt-get autoclean . 使用apt-get uninstall + apt-get autoclean卸载所有内容。
  2. Remove other conflicting R versions such as MRAN. 删除其他有冲突的R版本,例如MRAN。
  3. Remove all user packages directories. 删除所有用户软件包目录。
  4. Reinstall R base again. 再次重新安装R base。

It works ! 有用 !

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM