前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R︱Linux+Rstudio Server尝鲜笔记(打造最佳Rstudio体验+报错的解决方案)

R︱Linux+Rstudio Server尝鲜笔记(打造最佳Rstudio体验+报错的解决方案)

作者头像
悟乙己
发布2019-05-27 19:16:10
9.6K0
发布2019-05-27 19:16:10
举报
文章被收录于专栏:素质云笔记素质云笔记

Rstudio Server 是Rstudio开发的基于R语言的网页版(只能在Linux),你在手机上都可以运行R,还是挺方便的。就是配置起来有点麻烦。 官方下载链接:https://www.rstudio.com/products/rstudio/download-server/

本文列举了8个报错提醒以及如何将本机与Rstudio Server实现交互。

————————————————————————————————

1、为啥笔者觉得Rstudio Server适合Linux?

如果你有Linux桌面系统,且你可以自由操作自己家公司的服务器当然直接来个Rstudio也是不错的选择,但是呢,如果服务器公用,且没有桌面系统,且你喜欢轻量化的Rstudio。我觉得,你没有理由不喜欢Rstudio Server。

2、RStudio Desktop 与 RStudio Server 有什么区别? RStudio Desktop 是一个 R IDE,与您已安装在您的本地 Windows,Mac OS X 或 Linux 工作站上的 R 配合工作。RStudio 桌面版是一个独立的桌面应用程序,不需要以任何方式连接到 RStudio 服务器版。 RStudio Server 是一个 Linux 服务器上的应用程序,提供了在服务器上运行的 R 环境,而用户通过浏览器来访问。 参考:https://github.com/wangyuchen/rserver-manual/blob/master/01_r_and_rstudio-server.md ————————————————————————————————

一、Rstudio Server安装

艾玛,不知道的请戳我的另外一篇博客:

网页版Rstudio︱RStudio Server多人在线协作开发

当然,Rstudio Server的教程博客只服张丹老师的博客。 ————————————————————————————————

二、遇见的问题

1、问题一:安装包时候报错:couldn't resolve host name

报错:

代码语言:javascript
复制
Warning in install.packages    status was 'Couldn't resolve host name'

修改CRAN mirror的不同路径,我是用china北京、合肥以及globe等都试了一下,某一个会显灵的。

2、问题二:安装包时报错:package "xxx" is not available

代表着你的R版本有点低,你得升级一下,当然这个问题也会出现在windows系统中。

代码语言:javascript
复制
Warning in install.packages :
  package ‘reshape’ is not available (for R version 3.1.1)
3、问题三:安装包时报错:had non-zero exit status

这个报错代表着,你安装的这个包,需要一些基础的包,这些基础包好像没按上。所以你得看看你的包还需要其他的什么包,一个一个试试,自己安装一下。

这个问题在windows也会出现,但是呢,我怎么感觉linux上这样的报错更多?

难道linux衍生包安装这一步被忽略了吗?

代码语言:javascript
复制
rstudio server installation of package ‘wordcloud’ had non-zero exit status

还有这样的报错:

代码语言:javascript
复制
Warning in install.packages :
dependencies ‘highlight’, ‘parser’ are not available
also installing the dependency ‘formatR’
4、问题四:如何在Rstudio server加装rJava包

Rstudio server是搭载在linux之上的,rJava在Rstudio server 下载,需要先在Linux下安装JDK(Java环境),然后才能安装rJava,相关可参考我的博客:R语言·文本挖掘︱Rwordseg/rJava两包的安装(安到吐血)

同时可能的报错:

代码语言:javascript
复制
 "Java configuration variables are not set"
5、问题五:Rtools的问题

好像不用下载就自己解决了,之前在windows中,如何要下载github中的包就必须要过rtools这关。

6、问题六:.bin文件读入问题
代码语言:javascript
复制
Error in readChar(a, 1) : invalid UTF-8 input in readChar()

只能先导入到workspace里面才能继续使用。如果是大型的词向量内容,可能需要内存比较大的机器,同时注意memory.limit()内存,让本机给R的内存变大。(可参考:

R语言︱大数据集下运行内存管理

笔者是在windows分析出现的bin文件,然后导入Linux服务器然后再想读入Rstudio server,看来是windows下面分析的问题了。

特别是词向量的问题,如果是python训练的词向量,格式会发生改变,所以读入linux会出现如下报错,也没有特别好的解决办法。

7、问题七:require和library的区别?

用library(pkg)或require(pkg)加载包时,R会到.libPaths()的路径下去搜索,如果该库不存在就会报错。library()和require()的最大区别:找不到包时,library()抛出错误,require()打印警告信息并返回FALSE。

8、问题八:Rstudio server可以共享多人,那么一个人安装了所有的包,其他也可以用吗?

Rstudio server设置管理权限的时候就是分开目录,自己用自己目录下的安装包,所以不是共享的。

解决方案:

(1)当然也可以设置成所有人共享,安装包的时候就设置

代码语言:javascript
复制
install.packages("ggplot2","/usr/local/lib64/R/library")

(2)或者管理员自己将一个人的library复制到其他的目录之中。

在rstudio下,安装包时,默认的库路径是"/home/enn_james/R/x86_64-unknown-linux-gnu-library/3.2",而R软件本身的默认路径是/usr/local/lib64/R/library

————————————————————————————————————

三、如何导入本地的文件/代码至Rstudio Server之中

Rstudio Server是搭建在Linux之中的,虽然可以将本地代码复制到Rstudio Server,但是对于文件、数据源来说,不能直接拖进去。

所以,笔者的解决办法就是找到Linux系统中rstudio server根目录,然后导入文件到这个根目录就可以使用了。

一篇博客有提到:

1、查看库文件路径

在rstudio窗口,查看库文件的路径:

代码语言:javascript
复制
> .libPaths()
[1] "/home/enn_james/R/x86_64-unknown-linux-gnu-library/3.2" "/usr/local/lib64/R/library"

但是/usr/local/lib64/R/library这一路径的组权限默认是”staff”的,因此想要安装到这个目录还有赋予权限才行。

2、查看包安装路径

在R的命令窗口输入

代码语言:javascript
复制
library()

可以看到全部的包,分为系统包和用户包,用户包在 "/home/enn_james/R/x86_64-unknown-linux-gnu-library/3.2",系统包在 "/usr/local/lib64/R/library"。

代码语言:javascript
复制
[root@hadoop1-mysql /]#  sudo ls -all /usr/local/lib64/R/library
总用量 172
drwxr-xr-x 43 root root 4096 6月   1 07:52 .
drwxr-xr-x 10 root root 4096 5月  26 05:06 ..
drwxr-xr-x  7 root root 4096 5月  26 05:06 base
drwxr-xr-x  8 root root 4096 5月  26 05:06 boot
drwxr-xr-x  8 root root 4096 5月  26 05:06 class
drwxr-xr-x  9 root root 4096 5月  26 05:06 cluster

可见,/usr/local/lib64/R/library下的包是root权限的,是全局的;而/home/enn_james/R/x86_64-unknown-linux-gnu-library/3.2下的包的权限不是root权限的。

代码语言:javascript
复制
[root@hadoop1-mysql /]#  sudo ls -all /home/enn_james/R/x86_64-unknown-linux-gnu-library/3.2
总用量 152
drwxr-xr-x 38 enn_james enn_james 4096 6月   2 03:02 .
drwxr-xr-x  3 enn_james enn_james 4096 5月  26 08:18 ..
drwxr-xr-x  7 enn_james enn_james 4096 5月  27 00:38 assertthat
drwxr-xr-x  7 enn_james enn_james 4096 5月  28 06:43 base64enc
drwxr-xr-x  6 enn_james enn_james 4096 5月  27 00:38 BH
drwxr-xr-x  7 enn_james enn_james 4096 5月  27 10:05 bitops
drwxr-xr-x  6 enn_james enn_james 4096 5月  27 10:13 brew

本节参考:rstudio server包的安装位置

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年11月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Rstudio Server安装
  • 网页版Rstudio︱RStudio Server多人在线协作开发
  • 二、遇见的问题
  • R语言︱大数据集下运行内存管理
  • 三、如何导入本地的文件/代码至Rstudio Server之中
    • 1、查看库文件路径
      • 2、查看包安装路径
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档