noHup - 2017年10月
type: channel
link: http://chris.nohup.cc/2017/10/
description: This site is used to record and share the informations & useful tips during the coding and research.
items: 一个R语言版本跟caret包不兼容的问题

一个R语言版本跟caret包不兼容的问题
type: item
date: 2017-10-10T00:58:00+00:00
description: Overview问题描述解决方案小结 Overview 最近在一台新的电脑上运行一个R脚本时，报了一个很奇怪的错误。因为类似的脚本已经运行了很多次，所以很快就可以确定是电脑的R环境不兼容引起的问题。 问题描述 脚本在运行时需要载入caret包，结果载入过程中报下面的错误： Loading required package: gplots Attaching package: ‘gplots’ The following object is masked from ‘package:stats’: lowess Loading required package: methods Warning message: package ‘gplots’ was built under R version 3.2.4 Loading required package: lattice Loading required package: ggplot2 Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : there is no package called ‘recipes’ In addition: Warning messages: 1: package ‘caret’ was built under R version 3.2.5 2: package ‘lattice’ was built under R version 3.2.5 3: package ‘ggplot2’ was built under R version 3.2.5 4: replacing previous import by ‘plyr::ddply’ when loading ‘caret’ Error: package or namespace load failed for ‘caret’ Execution halted 别被上面的信息迷惑了，里面出现了ggplot2和lattice包，是因为这些包都是caret的依赖包。caret非常的大，有很多依赖包。看到上面的信息，第一时间会选择用install.packages("recipes")安装，但提示信息时recipes不存在。 解决方案 查阅了一些资料后，发现caret兼容的最低R语言版本为3.2.3，然后我看了下我的R语言版本:3.2.2... 到R官网上，下载了一个3.3.3，安装之后，重新装了一下需要的包，一切正常。 小结 如果安装的环境太老，有的时候还是会有一些不兼容的问题。所以如果出现了一些重大的版本，最好还是要更新一下，因为很可能后面的包就开始基于新的版本开发了。虽然我也不喜欢追求最新的，但也别太旧...