R是一种为统计计算和绘图而生的语言和环境

任何类型的数据分析工作皆可由R完成,R拥有顶尖水准的制图功能。

R的获取和安装:

R可以在CRAN(Comprehensive R Archive Network) http://cran.r-project.org 上免费下载,个人推荐在Anaconda中直接安装R studio。

R的使用:

R是一种区分大小写的解释型语言,R的多数功能是由程序内置函数和用户自编函数提供,一次交互式会话期间的所有数据对象都被保存在内存中。

R语句由函数和赋值构成。R中使用<-而不是=来作为赋值符号。

注释使用#号开头。

案例:生理发育问题

数据:10名婴儿出生一年内的月龄和体重数据

年龄(月) 体重(kg) 年龄(月) 体重(kg)
01 4.4 09 7.3
03 5.3 03 6.0
05 7.2 09 10.4
02 5.2 12 10.2
11 8.5 03 6.1

使用函数c()将参数组合成一个向量或列表,然后用其他函数获得体重的均值和标准差以及月龄和体重的相关度,最后用图形展示月龄和体重的关系。函数q()将结束会话并允许退出R。

> age <- c(1,3,5,2,11,9,3,9,12,3)
> weight <- c(4.4,5.3,7.2,5.2,8.5,7.3,6.0,10.4,10.2,6.1)
> mean(weight) #计算平均值
[1] 7.06
> sd(weight) #计算标准差
[1] 2.077498
> cor(age,weight) #计算相关度(线性关系)
[1] 0.9075655
> plot(age,weight)
> q()

获取帮助:打开帮助首页help.start(),查看函数foo的帮助help("foo")或?foo,函数的使用示例example("foo")。在线帮助手册可使用RSiteSearch("foo")来搜索在线版主文档和邮件列表。

工作空间:又名workspace,就是指当前R的工作环境,R会话结束时可以选择保存工作空间到一个镜像中,并在下次R启动时自动载入它。使用getwd()来查看当前的工作目录,或使用setwd()设定当前的工作目录,注意setwd()不会创建新的目录,如有需要需使用dir.create()来创建新的目录。通常启动一个R环境后先setwd(),再输入不加参数的load()来续借上次会话结束的地方。注意R使用反斜杠\来表示转义字符,因此再windows中输入地址使用/或\\来代替路径中的\。

使用命令save.image("myfile")来保存工作空间到文件myfile中,使用load("myfile")读取一个工作空间到当前会话中。

输入和输出:函数source("filename")可在当前会话中执行一个脚本。函数sink("filename")将输出重定向到filename文件中,默认覆盖原有文件内容,若使用参数append=TURE可以将文本追加到文件后,参数split=TURE可以将输出同时发送到屏幕和输出文件中,不加参数使用sink()命令仅向屏幕返回输出结果。

图像输出:sink()仅为图像重定向,对于图像没有影响,应使用以下命令实现相关操作:

函数 输出
pdf("filename.pdf") PDF文件
win.metafile("filename.wmf") Windows图元文件
png("filename.png") PNG文件
jpeg("filename.jpg") JPEG文件
bmp("filename.bmp") BMP文件
postscript("filename.ps") PostScript文件

最后使用dev.off()将输出返回到终端。

包:包是R函数、数据、预编译代码以一种定义完善的格式组成的集合。计算机上存储包的目录称为库(library)。函数.libPaths()能够显示库所在的位置,函数library()可以现实库中有哪些包。命令search()可以告诉你那些包已加载并可使用。

安装包可以使用命令install.packages("packageName"),更新包使用update.packages("packageName"),查看已安装的包可以使用installed.packages()命令实现。

使用命令library()来载入某个需要使用的包,例如要使用gclus包,需执行命令library("gclus")。

使用命令help(package="package_name")可以输出某个包的简短介绍以及包中的函数名称和数据集名称的列表。

批处理:执行以下命令来运行批处理模式,windows中需设置环境变量

R CMD BATCH options infile outfile

其中,infile是要执行的R代码所在文件的文件名(.R),outfile是接收输出文件的文件名(.Rout)。

Last modified: 2020年11月7日

Comments

Write a Reply or Comment

Your email address will not be published.