最近新接手了语音报表工作,需要用R语言来进行语音报表系统的开发。作为一个初次接触R的小白,第一步便是在Linux服务器上安装R程序和R语言包,踩了很多坑,痛定思痛,在此写下Linux安装R程序和R语言包的过程,给大家参考。
安装R程序包
./configure --prefix=<YOUR_R_HOME> --with-readline=yes --with-libpng=yes --with-x=no
make
make install
参数解释:
prefix 指定R安装目录,需要绝对路径,默认安装在R源代码目录下,建议指定特定目录,后续好维护。
with-readline 使用系统的readline库,如果系统上没有libreadline,此选项填“no”,但是强烈推荐使用此选项,否则编译出来的R极其难用。如何安装libreadline,参见这里。安装好libreadline后,但是R配置时找不到,可能是libreadline.so没有在系统目录(如/usr/local/lib)中,参见这篇文章排查问题。
with-libpng 使用系统的libpng库,用于导出png图片,libpng下载地址,参见这里。
with-x 表示是否使用X-Windows系统,也就是类Unix操作系统的GUI,由于我的服务器是没有安装这个的,所以这一项选择”no”(一般的服务器也不会安装这个)。
安装R语言包
R的包(package)通常有两种:
- binary package:这种包属于即得即用型(ready-to-use),但是依赖与平台,即Win和Linux平台下不同。
- Source package: 此类包可以跨平台使用,但用之前需要处理或者编译(compiled)。
由于在生产机上,所以采用packages source安装,安装命令为:
# R CMD INSTALL /.../myPackage.tar.gz
安装RODPS
R的使用
.libPaths():查看包的安装目录
library():查看已经安装的包目录
installed.packages():查看已安装包信息
library(mypackage):载入mypackage包
getOption("defaultPackages"):查看启动R时自动载入的包。
help(package = 'mypackage'):查看‘mypackage’的帮助
args(function):查看函数的参数
example(function):自动运行该函数帮助文档中的例子,很赞!
demo("package"):展示一些包中demostration,需要再看下??
vignette('mypackage'):有的包,特别是bioconductor的包有vignette,用函数查看
openVignette('mypackage'):这个函数也可以查看vignette,更好用一些
RSiteSearch("helpinfor"):搜索R网站上的“helpinfor”相关信息
help.start():查看已经安装包的详细HTML文档,这个命令非常爽。
更新:
search():查看当前载入的包
sessionInfo():查看R中载入的包
Sys.getenv("R_HOME"):查询R HOME安装地址
Sys.getenv("HOME"):查询用户HOME地址
methods():查看某个S3泛型函数中所有的方法或者一个类中所有的方法(S3:S version 3)
showMethods(class = "myClass"):查看S4类的方法
findMethods("myMethods"):查看method的代码
class(myObject):查看某个对象的类
getClass(“class/package”):查看某个class或者包的具体内容
getSlots("class"):查看某个class的slot
slotNames(MyObject):查看某个对象的slot。
FAQ
问题:
- Quitting from lines 94-122 (rp_tts.Rmd)
Error in strsplit(unitspec, " ") : non-character argument
Calls: ... fullseq.Date -> seq -> floor_date -> parse_unit_spec -> strsplit
Execution halted
解决办法:
- 参考此处,将breaks改为date_breaks。