R使用read.xlsx读取xlsx第2个工作表时出现Rcpp相关报错如何处理?
报错含义
该报错的根本原因是Rcpp包版本和你使用的xlsx读取包(通常为openxlsx或xlsx包)版本不兼容。Rcpp_precious_remove是Rcpp1.0.7及以上版本才提供的接口函数,如果你本地安装的Rcpp版本低于该版本,而xlsx读取包是基于高版本Rcpp编译发布的,调用函数时就会触发该接口缺失的报错。
解决方法
- 先卸载本地已安装的不兼容包,执行代码:
# 如果你使用openxlsx读取文件,运行以下代码 remove.packages(c("Rcpp", "openxlsx")) # 如果你使用xlsx包读取文件,运行以下代码 # remove.packages(c("Rcpp", "xlsx"))
- 完全重启R/RStudio会话,必须重启才能清除内存中残留的旧版本包加载状态
- 重新安装最新版本的对应包,执行代码:
install.packages("Rcpp") # 对应安装你使用的xlsx读取包 install.packages("openxlsx") # install.packages("xlsx")
- 重新加载包后运行你的原有读取代码即可正常执行:
library(openxlsx) read.xlsx(dataUrl, sheet = 2)
内容的提问来源于stack exchange,提问作者mel
相关产品推荐
相关产品推荐

