我一直在尝试使用R(使用Ubuntu 12.04)访问R的MySQL数据库,因为R是一种统计语言,因此我觉得应该很自然。然而,似乎要拔牙了。似乎唯一不会遇到依赖关系错误的库是RMySQL,但是即使这样,也似乎只能通过将其安装在R之外来访问它:
sudo apt-get install r-cran-rmysql
但是,我无法在R中运行它,因为会遇到以下错误:
package 'RMySQL' was built before 3.0.0, please re-install it
我不是一个要问订单的人,而是继续安装了所有R。但是,我发现自己回到了第一方格,这次几乎是完全相反的错误:
package 'RMySQL' is not available (for R version 3.2.4 Revised)
换句话说,我遇到的第一个错误似乎是“除非更新R,否则我将无法运行”,现在这个新错误显示“如果更新R,我将无法运行”。
长话短说,我如何完成使用R访问MySQL的相当简单的任务?
最佳答案
可爱。
因此,您坚持使用当前的R(如您所说的3.2.4),但是坚持要求操作系统的版本和版本已经被其供应商弃用一次,很快又两次被其拒绝?为什么?
您所犯的错误正是由于这种不匹配所致:您的R版本比您要安装的二进制RMySQL软件包(aka r-cran-rmysql)所对应的R版本要新很多年。圆孔,方钉。
因此,答案是使用现有的R,并从源代码(即通过R在install.packages()
内)安装RMySQL,为此您需要通过例如sudo apt-get libmysqlclient-dev
的MySQL标头。这就是现在所说的,您可能在已经过时的Ubuntu版本中得到或等效。
现在,您还可以通过Michael Rutter的PPA获取当前R软件包的端口,但是处理问题可能需要比我现在有时间解释的时间更长的时间。