本节书摘来自华章出版社《R的极客理想—工具篇》一 书中的第1章,第1.5节,作者:张丹,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
问题R语言开发,哪个工具最好用?
引言RStudio是R语言开发中的利器,是最好用的R语言IDE集成环境。RStudio Server更是利器中的神器。不仅提供了Web的功能,可以安装到远程服务器上,通过Web进行访问,还支持多用户的协作开发。如此神器,快来动手试一下吧。
RStudio 是一个强大的、免费的、开源的R语言集成开发环境的应用软件,可以安装在Windows、Linux和Mac 不同操作系统上。RStudio Server 是一个基于Web访问的RStudio云端开发环境,需要安装在Linux服务器上面,支持多用户远程访问使用。
本文使用的系统环境是:
Linux: Ubuntu Server 12.04.2 LTS 64bit R: 3.0.1 x86_64-pc-linux-gnu IP: 192.168.1.13注 RStudio Server只支持Linux系统环境。在Linux Ubuntu环境中,下载并安装64位的Rstudio Server:
~ sudo apt-get install gdebi-core ~ sudo apt-get install libapparmor1 # Required only for Ubuntu, not Debian ~ wget http://download2.rstudio.org/rstudio-server-0.97.551-amd64.deb ~ sudo gdebi rstudio-server-0.97.551-amd64.deb安装后,RStudio Server会自动启动运行。
~ ps -aux|grep rstudio-server # 查看RStudio Server运行进程 998 2914 0.0 0.1 192884 2568 ? Ssl 10:40 0:00 /usr/lib/ rstudio-server/bin/rserver可以看到,RStudio Server的服务已启动,8787端口被打开。
通过浏览器,我们访问RStudio Server: 192.168.1.13:8787,IP地址为RStudio Server服务器的地址,如图1-6所示。
RStudio Server 登录需要用Linux 系统的用户账号。如果想增加或减少用户,直接对Linux系统用户进行操作就可以了。我的环境中用户登录,用户名是conan,密码是conan111。登录之后看到的界面如图1-7所示。
RStudio Server 的系统配置RStudio Server主要有两个配置文件,默认文件不存在。 /etc/rstudio/rserver.conf /etc/rstudio/rsession.conf设置端口和ip控制:
~ vi /etc/rstudio/rserver.conf www-port=8080 # 监听端口 www-address=127.0.0.1 # 允许访问的IP地址,默认为0.0.0.0重启Rstudio Server服务器,配置生效:
~ sudo rstudio-server restart会话配置管理:
~ vi /etc/rstudio/rsession.conf session-timeout-minutes=30 # 会话超时时间 r-cran-repos=http://ftp.ctex.org/mirrors/CRAN/ # 设置CRAN资源库 RStudio Server 的系统管理启动、停止、重启 RStudio Server服务器的命令如下: ~ sudo rstudio-server start # 启动 ~ sudo rstudio-server stop # 停止 ~ sudo rstudio-server restart # 重启查看运行中的R进程:
~ sudo rstudio-server active-sessions PID TIME COMMAND 6817 00:00:03 /usr/lib/rstudio-server/bin/rsession -u zd指定PID, 停止运行中的R进程:
~ sudo rstudio-server suspend-session 6817 ~ sudo rstudio-server active-sessions # 再次查看进程 PID TIME COMMAND停止所有运行中的R进程:
~ sudo rstudio-server suspend-all强制停止运行中的R进程,此操作优先级最高,立刻执行。
~ sudo rstudio-server force-suspend-session <pid> ~ sudo rstudio-server force-suspend-allRStudio Server临时下线,不允许Web访问,并给用户友好的错误提示:
~ sudo rstudio-server offline rstudio-server start/running, process 6880 RStudio Server上线: ~ sudo rstudio-server online rstudio-server start/running, process 6908 RStudio Server的其他操作和单机版的RStudio一样。新打开浏览器窗口通过Hadoop账号登录 ,如图1-8所示。
Git代码共享首先安装Git: ~ sudo apt-get install git ~ ssh-keygen -t rsa #生成rsa密钥对 ~ cat /home/conan/.ssh/id_rsa.pub #查看公钥 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMmnFyZe2RHpXaGmENdH9kSyDyVzRas4GtRwMNx+qQ 4QsB8xVTrIbFayG2ilt+P8UUkVYO0qtUJIaLRjGy/SvQzzL7JKX12+VyYoKTfKvZZnANJ414d6oZpbDw sC0Z7JARcWsFyTW1KxOMyesmzNNdB+F3bYN9sYNiTkOeVNVYmEQ8aXywn4kcljBhVpT8PbuHl5eadSLt 5zpN6bcX7tlquuTlRpLi1e4K+8jQo67H54FuDyrPLUYtVaiTNT/xWN6IU+DQ9CbfykJ0hrfDU1d1LiLQ 4K2Fdg+vcKtB7Wxez2wKjsxb4Cb8TLSbXdIKEwSOFooINw25g/Aamv/nVvW1 conan@conan-deskop接下来,我们需要把本地项目上传到Github。首先在Github上创建一个新的项目rstudio-demo,地址为github.com/bsspirit/rstudio-demo,通过下面的操作上传本地目录到rstudio-demo项目。
~ mkdir /home/conan/R/github # 创建rstudio-demo项目目录 ~ cd /home/conan/R/github ~ git init # 初始化Git ~ git add # 增加当前目录及子目录到本地Git库 ~ git commit -m 'first comment' # 在本地Git库提交 ~ git remote add origin git@github.com:bsspirit/rstudio-demo.git # 绑定当前目录和github的项目 ~ git push -u origin master # 上传本地Git库中的代码到Github打开RStudio设置到/home/conan/R/github目录,tools–>version control –> project setup,如图1-9所示。
在RStudio中修改sayHello.r的代码:
sayHello<-function(name){ print(paste("hello",name)) } sayHello("Conan") sayHello("World")点击tools–>version control–> commit提交,如图1-10所示。
上传到Github,只需要点击tools–>version control–> push,如图1-11所示。
RStudio有如此强大的功能,极大地降低了编程的门槛。还没有用过的同学,赶紧去体验一把极客的感觉吧!
相关资源:敏捷开发V1.0.pptx