继续学R:安装软件包

in r •  2 months ago

昨天学习了一下如何在Linux(Ubuntu )下装R(还好我们学的是R语言,而不是B语言😰),并且简单测试了一下如何使用。详情可以参考《学R:准备工作》,今天来继续学R。


(图片从 @dapeng 的帖子里偷的)

运行脚本

昨天我摸索出来执行R脚本的命令为:

R --slave -f hello.R

今天发现原来有一个专门的指令做这个工作:

Rscript

比如对于上述命令,我们可以修改为:

Rscript hello.R

除此之外,我们还可以用-e来直接执行一些语句,比如:

Rscript -e "1+1"
Rscript -e 'print("Hello World");'
Rscript -e "print(\"Hello World\");"
Rscript -e "print(\"Hello World\");1+1;2+2"

安装软件包

在使用Python语言时,我们知道可以使用pip指令来安装所需的软件包,那么R语言环境下,我们如何安装呢?答案是在R环境的提示符下直接使用类似如下指令即可:

install.packages("example_package")

比如我想安装一个caTools的东西(我也不知道是啥),这样做就可以鸟:

install.packages("caTools")

注:我是在普通用户账户下执行的R,所以执行上述指令是会提示我:

Would you like to use a personal library instead? (y/n) y

也就是说数据包被安装的本地,如果想安装到全局,估摸应该用sudo R来启动R环境(我瞎猜的,本地安装挺好,就不去测试了)

加载安装好的软件包,使用类似如下指令即可:

library(caTools)

见识一下

尽管"Hello World!"已经超级强大了,但是还是想见识一下更加强大的功能,在R语言的维基百科页面有一个曼德勃罗集合(Mandelbrot set)的例子,略作修改拿来运行一下,长长见识。

#install.packages("caTools")  # install external package
library(caTools)             # external package providing write.gif function
jet.colors <- colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan", "#7FFF7F",
                                 "yellow", "#FF7F00", "red", "#7F0000"))
dx <- 400                    # define width
dy <- 400                    # define height
C  <- complex(real = rep(seq(-2.2, 1.0, length.out = dx), each = dy),
              imag = rep(seq(-1.2, 1.2, length.out = dy), dx))
C <- matrix(C, dy, dx)       # reshape as square matrix of complex numbers
Z <- 0                       # initialize Z to zero
X <- array(0, c(dy, dx, 20)) # initialize output 3D array
for (k in 1:20) {            # loop with 20 iterations
  Z <- Z^2 + C               # the central difference equation
  X[, , k] <- exp(-abs(Z))   # capture results
}
write.gif(X, "Mandelbrot.gif", col = jet.colors, delay = 25)

Mandelbrot.gif

虽然不知道是什么鬼,但是很漂亮,不是吗?

相关链接

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

最近掀起学R的热潮啊!

·

大鹏曰:客官,来玩啊~~

看起来有点像是细胞分裂😂
btw,现在刷steemit有种感觉被两个老师监督念书的赶脚(´▽`)

@dancingapple O哥親自教授

·

打卡

·
·

o哥这个例子跟你帖子里拍那张书页里的“康威生命游戏”是类似的

·
·
·

我这一回家就马上打开电脑学习了……本想闲云野鹤,万万没想到😂

·
·

打卡奖励 💰💰

·
·
·

哈哈,蟹蟹奖励

谢谢o哥为我们学 R 摇旗呐喊!

我那书主要是为 windows 用户写的。考虑到 linux 用户都善于折腾,所以就只是提了一嘴,没做详细介绍。不过,如果有 o 哥的帖子做指导,linux 用户会省很多事。

o 哥可否授权允许把这两篇帖子(以及后续)转载到 《学 R》一书的主页 http://xuer.pzhao.net

·

哈哈,我就是凑热闹瞎玩的
要是觉得有用随便转载

·
·

点赞。回复。赖不掉了。

still "hello world" again, but i will try to follow this until end :)