Tag Archives: R

R语言安装tidyverse

最近因为使用R时载入的数据量非常大,而工作机内存仅仅只有16G,而添加内存在工作机上会导致资源的浪费,因为自己并不是每次都会使用到如此大的内存,所以就琢磨着组装了一台配置较好的机器,并使用了Ubuntu系统和RstudioServer,每个人都可以开通一个账号来共享这台机器的资源。

但是问题随之而来,在Windows上使用Rstudio安装包几乎没有出现什么问题,但是Linux上则需要手动安装许多的包,所以这里就记录一下。

报错1
ERROR: dependencies ‘httr’, ‘rvest’, ‘xml2’ are not available for package ‘tidyverse’

解决方法:

apt install libxml2-dev
报错2
ERROR: dependency ‘openssl’ is not available for package ‘httr’

解决方法:

apt install libssl-dev 

在解决报错2的时候,可能会出现如下兼容性报错:

libssl-dev : Depends: libssl1.1 (= 1.1.1-1ubuntu2.1~18.04.6) but 1.1.1f-1ubuntu2 is to be installed

可以按照下列的命令安装相应对应的包:

apt install libssl1.1=1.1.1-1ubuntu2.1~18.04.6

参考文档

  1. tidyverse Issues
  2. libssl-dev

R语言连接数据库

最近使用Rstudio Server从数据库获取数据次数越来越多,期间也涉及到了Mysql、SQL server数据库,并且在安装过程中也出现了很多的问题,这里做一个记录和总结,本文为笔记,并不是相关的教程,请见谅。

Mysql/MariaDB

连接mysql和MariaDB数据库可以使用的包有两个,分别为"RMySQL"和"RMariaDB",因为MariaDB数据库是完全兼容mysql,所以这两个包是通用mysql和MariaDB数据库。

而目前通过"RMySQL"包的Github作者介绍,该包将逐渐被"RMariaDB"包被淘汰,所以在安装的时候尽量使用"RMariaDB"来连接mysql。

使用下面的命令来安装这两个包:

install.packages('RMariaDB')

install.packages('RMySQL')

如果安装过程中报错提示如下:

-----------------------------[ ANTICONF ]-----------------------------
Configure could not find suitable mysql/mariadb client library. Try installing:
 * deb: libmariadbclient-dev | libmariadb-client-lgpl-dev (Debian, Ubuntu)
 * rpm: mariadb-connector-c-devel | mariadb-devel | mysql-devel (Fedora, CentOS, RHEL)
 * csw: mysql56_dev (Solaris)
 * brew: mariadb-connector-c (OSX)
If you already have a mysql client library installed, verify that either
mariadb_config or mysql_config is on your PATH. If these are unavailable
you can also set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
--------------------------[ ERROR MESSAGE ]----------------------------
<stdin>:1:10: fatal error: mysql.h: No such file or directory
compilation terminated.
-----------------------------------------------------------------------

则可以根据提示安装相应系统的包

apt install libmariadbclient-dev

然后使用下列命令建立连接

library("RMariaDB")
myConn = dbConnect(MariaDB(), dbname = 'testdb', host = '127.0.0.1',
                            user = 'root', password = 'password')

Continue reading