R语言学习笔记

原创
2017/01/23 23:59
阅读数 2.4K
自主安装的时候, 一定要带上下面得参数, 否则r-studio会报找不到 libR.so
./configure --enable-R-shlib
将 数据框 中 的 NA 替换为 0 dat[is.na(dat)] <- 0   # 将数据框dat中的 NA 替换为 0
安装最新版的R:

自主安装的时候, 一定要带上下面得参数, 否则r-studio会报找不到 libR.so

./configure --enable-R-shlib

 

将 数据框 中 的 NA 替换为 0 dat[is.na(dat)] <- 0 # 将数据框dat中的 NA 替换为 0

 

安装最新版的R:

参考资料: https://cran.r-project.org/bin/linux/ubuntu/README.html

1: 修改 /etc/apt/sources.list, 添加R源, 这里用的是国内交通大学的源

如果不想用北京交通大学的源, 可以换其他的: https://cran.r-project.org/mirrors.html

deb https://mirrors.tuna.tsinghua.edu.cn/CRAN/ trusty/

2: 添加apt-key

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9

3: 更新

sudo apt-get update

4: 安装R

sudo apt-get install r-base-core r-base-dev

 

 

安装rJava包报错:

报错信息:

checking Java support in R... present:

interpreter : '/usr/lib/jvm/default-java/jre/bin/java'

archiver    : '/usr/lib/jvm/default-java/bin/jar' compiler    : '/usr/lib/jvm/default-java/bin/javac'

header prep.: '/usr/lib/jvm/default-java/bin/javah'

cpp flags   : '-I/usr/lib/jvm/default-java/include'

java libs   : '-L/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server -ljvm'

checking whether Java run-time works... ./configure: line 3729: /usr/lib/jvm/default-java/jre/bin/java: No such file or directory

 

解决方法: 

sudo ln -s  JDK地址  /usr/lib/jvm/default-java

sudo ln -s  /usr/lib/jvm/java-7-openjdk-amd64/  /usr/lib/jvm/default-java

# 安装R包

install.packages('rJava') 

# 批量安装R包

install.packages(c('RMongo', 'rredis', 'XML', 'xml2'))

# 安装R语言的七种武器

install.packages(c('RCurl', 'shiny', 'ggplot2', 'plyr', 'tm', 'htmlwidgets', 'quantmod'))

# 指定镜像安装R包

install.packages('gbm', repos = 'http://mirror.bjtu.edu.cn/cran/') 

# 下载zip包安装

安装 Rwordseg 包: https://r-forge.r-project.org/R/?group_id=1054

 

 

命令行下执行R文件的三种方式:

1: R CMD BATCH test.R 2: R -f test.R

3: Rscript test.R

 

用Rscript获取命令行所传参数:

虽然上面说了命令行下执行R文件有三种方法, 

但是如果想获取命令行下所传参数的话, 必须用Rscript

 

编辑一个R文件, test.R, 代码如下

#!/usr/bin/env Rscript

 

Args <- commandArgs()

print(Args)

 

Args2 <- commandArgs(TRUE)

print(Args2)

命令行下执行该R文件:

Rscript test.R wujunwei 30

commandArgs() 的输出如下:

[1] "/usr/lib/R/bin/exec/R" "--slave"               "--no-restore"          "--file=test.R"         "--args"               

[6] "wangcaixia"            "28" 

 

commandArgs(TRUE) 的输出如下:

[1] "wujunwei" "30"

发现commandArgs()获取到其他一些不必要的参数, 一般情况下用 commandArgs(TRUE) 获取命令行参数

R语言 Windows 下读取 utf-8编码文件 中文乱码,   Linux下读取GBK编码文件 中文乱码的解决方法:
可以用 getOption('encoding')  或  .Options$encoding  获取R语言环境的编码
默认是 native.enc  和系统环境一致
 
是因为Windows下的默认编码时GBK, 而Linux 下的默认编码是UTF-8
文本编码与系统默认的编码不一致的时候,使用R读入这些字符需要对Encoding参数的正确设置。
设置options(encoding="编码")
可以在R编码文件中设置, 也可以在用户自己的 .Rprofile 文件中设置
.Options 系统变量还包含了R语言的其他环境设置, 可以自行查看

 

安装shiny包报错:

报错信息:

Warning messages:

1: In install.packages("shiny") : 安装程序包‘httpuv’时退出狀態的值不是0

2: In install.packages("shiny") : 安装程序包‘shiny’时退出狀態的值不是0

解决方法: 

切换到 root 用户再进行安装, 必须切换到 root 用户, 用 sudo 都不行

su root

R

install.packages('shiny')

安装tcltk包安装不成功

今天老婆去给她朋友安R环境, 有一个包tcltk, 用install.packages()安装不成功, 我看了一下我本地的, 是有这个包的,

为了验证可以安装, 我就手欠用remove.packages()把这个包删除了, 然后就悲剧的安装不成功了, 上网找半天也没有结果,

最后好不容易在网上看到一句话: 在安装R的时候tcltk包必须存在,不然即便在安装R后再安装tcltk也不能编译

看完之后, 醍醐灌顶, 这个包看来是R环境本身自带的, 我屁颠屁颠的跑去重新安装了一下R环境,

然后执行 library(tcltk) 果然OK了, 看来还是对R的理解不够深啊!

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部