摘要: R是S语言的一种实现。它是一种大小写敏感的解释型语言。你可以在命令提示符(>)后面直接一句一句输入要执行的命令,也可以通过运行一个源文件来执行一系列命令。R的数据类型很多,包括向量(数值型向量、文字型向量 ...


1.概况



R是S语言的一种实现。它是一种大小写敏感的解释型语言。你可以在命令提示符(>)后面直接一句一句输入要执行的命令,也可以通过运行一个源文件来执行一系列命令。R的数据类型很多,包括向量(数值型向量、文字型向量、逻辑型向量)、矩阵、数据框和列表等。大多数功能是在交互会话中通过内置函数、用户函数和内存中的数据对象来实现。基础功能都是默认可用的,其它功能被包含在程序包中,可根据当前会话的需求添加程序包。

注:R一种大小写敏感的语言。如FOO,Foo和foo是三个完全不同的对象。

本章介绍通过R界面来进行工作。使用R的一个有效率的关键技能就是学会怎样使用系统内置的帮助系统。其它章节将介绍R语言的工作环境,输入程序和输出结果,通过程序包安装新的功能模块,已开发完成的R语言图形用户界面(GUI),自定义环境,产生高质量的输出以及批量运行程序。R语言的基础设计架构特征是大多数程序的输出可以作为其他程序的输入。这一部分将会在结果重用部分讲到。 

2.获取帮助

2.1获取帮助

一旦R安装成功,会包含一个综合内置帮助系统。在程序的命令提示符界面,你可以使用下面的帮助选项:





help.start()   # 一般的帮助信息
help(foo)      # 关于foo函数的帮助信息
?foo           # 同上
apropos("foo") # 列出所有包含foo字符串的函数
example(foo)   # 显示一个foo函数的示例
# 在帮助手册和归档邮件列表中搜索foo
RSiteSearch("foo")
# 获取已安装程序包的简介
vignette()      # 显示可用的简介
vignette("foo") # 显示指定的简介







2.2样本数据集

R有很多你可以用来做试验的样本数据集。输入data( )可以查看可用的数据集,能查到的数据集依赖于你加载的程序包。输入help(数据集名称)查看样本数据集的详细信息。

 

3.  工作空间

工作空间是你当前R语言的工作环境,包括用户自定义对象(向量、矩阵、数据框、列表、函数等)。在一个R进程结束时,用户可以保存当前工作空间的映像,工作空间映像会在R下一次启动的时候自动加载。在R用户提示符后可通过交互方式输入命令。使用向上和向下箭头键可以回滚你之前输入的命令。

你很可能想把不同的项目保存在不同的物理目录中,这里有一些管理你工作空间的标准命令可供参考。

WINDOWS用户的重要事项:


如果在你的代码中使用像下面这样的路径方式,R会无法识别:
       c:\mydocuments\myfile.txt
这是因为在R中"\"是一个转意符。可以使用下面的方式代替:
       c:\\my documents\\myfile.txt
       c:/mydocuments/myfile.txt
二者都有效,在本网站中我会使用第二种方式。





getwd() # 打印当前工作目录
ls()    # 列出当前工作空间所有对象
setwd(mydirectory)      # 改变工作目录为“mydirectory”
setwd("c:/docs/mydir")  # 提醒在windows中使用/替换\
setwd("/usr/rob/mydir") # 在Linux操作系统上
# 查看并设置进程选项
help(options) # 了解可用options变量
options() # 查看当前option变量设置
options(digits=3) # 设置数字输出打印小数位数
# 使用你以前输入的命令
history() # 查看最后使用的25条命令
history(max.show=Inf) # 查看所有使用过的命令
# 保存你的命令记录
savehistory(file="myfile") # 缺省保存文件是.Rhistory
# 重新调用你使用过的命令
loadhistory(file="myfile") # 缺省文件是.Rhistory
# 把工作空间保存在当前目录的.RData文件中
save.image()
# 把特定的对象保存到文件
# 如果不指定路径,则使用当前路径
save(object list,file="myfile.RData")
# 加载一个工作空间到当前进程中
# 如果不指定路径,则使用当前路径
load("myfile.RData")
q() #退出R。你将会被提示是否保存工作空间






4. 输入/输出

4.1输入/输出

默认情况下,启动R将会开启一个通过键盘输入和屏幕输出的交互进程。然而,你也可以从脚本文件(一个包含R命令的文件)输入并且直接输出到多个目标。

4.2输入


source( )函数在当前进程运行一个脚本。如果文件名没有包含路径,则会从当前工作目录调用该文件。
# 输入脚本文件
source("myfile")


4.3输出


sink( )函数定义输出路径。
# 直接输出到文件
sink("myfile", append=FALSE, split=FALSE)
# 把输出返回到终端
sink()
append选项控制输出是覆盖原文件还是追加到原文件内容之后。split选项决定是否像输出文件那样输出到屏幕。
这里有一些关于sink()函数的示例。
# output.txt文件的输出目录为c:\projects
#输出直接覆盖已经存在的文件,不在终端提示
sink("c:/projects/output.txt")
# 输出到当前路径的myfile.txt文件。输出追加到已经存在的文件,并同时输出到终端。
sink("myfile.txt", append=TRUE, split=TRUE)
当重定向输出,使用cat( )函数来注释输出。




4.4 图形


sink( ) will not redirect graphic output. To redirect graphic output use one of the following functions. Use dev.off( ) to return output to the terminal.
sink( )函数不会重定向输出,下面的函数可以用来重定向图形输出。使用dev.off( )把输出返回到终端。
函数                                                        输出类型
pdf("mygraph.pdf")                                            pdf文件
win.metafile("mygraph.wmf")                                                        windows metafile文件
png("mygraph.png")                                                                         png文件
jpeg("mygraph.jpg")                                                                          jpeg文件
bmp("mygraph.bmp")                                                                       bmp文件
postscript("mygraph.ps")                                                                postscript文件
想要把图形保存到当前工作目录之外,要在文件名中使用全路径。
# 示例,输出图形到jpeg文件
jpeg("c:/mygraphs/myplot.jpg")
plot(x)
dev.off()


5. 程序包

5.1 Packages  程序包

程序包是良好定义格式的R函数、数据和已编译代码的集合。存储程序包的目录称为存储库。R包括标准的程序包集合,其它程序包可通过下载和安装来使用。一旦安装之后,他们必须被加载到当前进程来使用。


.libPaths() # 获取存储库路径
library()   # 查看所有已安装的程序包
search()    # 查看当前加载的程序包


5.2  添加程序包

你可以根据你的分析需要扩展添加其他程序包。CRAN可以查看全部的已贡献程序包的列表。

按照下面的步骤:

下载并安装一个程序包(你仅需要做一次)

要使用程序包,使用library(程序包名称)命令把程序包加载到当前进程。(你需要在每个进程都运行该命令,除非你自定义环境变量每次自动加载)

在微软Windows系统:

从“程序包”菜单选择“安装程序包”

选择一个CRAN镜像(如Norwar)

选择一个程序包(如boot)

然后用library(程序包名称)函数加载并使用。(如library(boot))

 

在Linux系统:

下载感兴趣的程序包压缩文件

在命令提示符下,安装并使用。


R CMD INSTALL [options] [l-lib] pkgs





1.概况

R是S语言的一种实现。它是一种大小写敏感的解释型语言。你可以在命令提示符(>)后面直接一句一句输入要执行的命令,也可以通过运行一个源文件来执行一系列命令。R的数据类型很多,包括向量(数值型向量、文字型向量、逻辑型向量)、矩阵、数据框和列表等。大多数功能是在交互会话中通过内置函数、用户函数和内存中的数据对象来实现。基础功能都是默认可用的,其它功能被包含在程序包中,可根据当前会话的需求添加程序包。

注:R一种大小写敏感的语言。如FOO,Foo和foo是三个完全不同的对象。

本章介绍通过R界面来进行工作。使用R的一个有效率的关键技能就是学会怎样使用系统内置的帮助系统。其它章节将介绍R语言的工作环境,输入程序和输出结果,通过程序包安装新的功能模块,已开发完成的R语言图形用户界面(GUI),自定义环境,产生高质量的输出以及批量运行程序。R语言的基础设计架构特征是大多数程序的输出可以作为其他程序的输入。这一部分将会在结果重用部分讲到。 

2.获取帮助

2.1获取帮助

一旦R安装成功,会包含一个综合内置帮助系统。在程序的命令提示符界面,你可以使用下面的帮助选项:



help.start()   # 一般的帮助信息
help(foo)      # 关于foo函数的帮助信息
?foo           # 同上
apropos("foo") # 列出所有包含foo字符串的函数
example(foo)   # 显示一个foo函数的示例
# 在帮助手册和归档邮件列表中搜索foo
RSiteSearch("foo")
# 获取已安装程序包的简介
vignette()      # 显示可用的简介
vignette("foo") # 显示指定的简介





2.2样本数据集

R有很多你可以用来做试验的样本数据集。输入data( )可以查看可用的数据集,能查到的数据集依赖于你加载的程序包。输入help(数据集名称)查看样本数据集的详细信息。

 

3.  工作空间

工作空间是你当前R语言的工作环境,包括用户自定义对象(向量、矩阵、数据框、列表、函数等)。在一个R进程结束时,用户可以保存当前工作空间的映像,工作空间映像会在R下一次启动的时候自动加载。在R用户提示符后可通过交互方式输入命令。使用向上和向下箭头键可以回滚你之前输入的命令。

你很可能想把不同的项目保存在不同的物理目录中,这里有一些管理你工作空间的标准命令可供参考。

WINDOWS用户的重要事项:

如果在你的代码中使用像下面这样的路径方式,R会无法识别:
       c:\mydocuments\myfile.txt
这是因为在R中"\"是一个转意符。可以使用下面的方式代替:
       c:\\my documents\\myfile.txt
       c:/mydocuments/myfile.txt
二者都有效,在本网站中我会使用第二种方式。



getwd() # 打印当前工作目录
ls()    # 列出当前工作空间所有对象
setwd(mydirectory)      # 改变工作目录为“mydirectory”
setwd("c:/docs/mydir")  # 提醒在windows中使用/替换\
setwd("/usr/rob/mydir") # 在Linux操作系统上
# 查看并设置进程选项
help(options) # 了解可用options变量
options() # 查看当前option变量设置
options(digits=3) # 设置数字输出打印小数位数
# 使用你以前输入的命令
history() # 查看最后使用的25条命令
history(max.show=Inf) # 查看所有使用过的命令
# 保存你的命令记录
savehistory(file="myfile") # 缺省保存文件是.Rhistory
# 重新调用你使用过的命令
loadhistory(file="myfile") # 缺省文件是.Rhistory
# 把工作空间保存在当前目录的.RData文件中
save.image()
# 把特定的对象保存到文件
# 如果不指定路径,则使用当前路径
save(object list,file="myfile.RData")
# 加载一个工作空间到当前进程中
# 如果不指定路径,则使用当前路径
load("myfile.RData")
q() #退出R。你将会被提示是否保存工作空间




4. 输入/输出

4.1输入/输出

默认情况下,启动R将会开启一个通过键盘输入和屏幕输出的交互进程。然而,你也可以从脚本文件(一个包含R命令的文件)输入并且直接输出到多个目标。

4.2输入

source( )函数在当前进程运行一个脚本。如果文件名没有包含路径,则会从当前工作目录调用该文件。
# 输入脚本文件
source("myfile")

4.3输出

sink( )函数定义输出路径。
# 直接输出到文件
sink("myfile", append=FALSE, split=FALSE)
# 把输出返回到终端
sink()
append选项控制输出是覆盖原文件还是追加到原文件内容之后。split选项决定是否像输出文件那样输出到屏幕。
这里有一些关于sink()函数的示例。
# output.txt文件的输出目录为c:\projects
#输出直接覆盖已经存在的文件,不在终端提示
sink("c:/projects/output.txt")
# 输出到当前路径的myfile.txt文件。输出追加到已经存在的文件,并同时输出到终端。
sink("myfile.txt", append=TRUE, split=TRUE)
当重定向输出,使用cat( )函数来注释输出。



4.4 图形

sink( ) will not redirect graphic output. To redirect graphic output use one of the following functions. Use dev.off( ) to return output to the terminal.
sink( )函数不会重定向输出,下面的函数可以用来重定向图形输出。使用dev.off( )把输出返回到终端。
函数                                                        输出类型
pdf("mygraph.pdf")                                            pdf文件
win.metafile("mygraph.wmf")                                                        windows metafile文件
png("mygraph.png")                                                                         png文件
jpeg("mygraph.jpg")                                                                          jpeg文件
bmp("mygraph.bmp")                                                                       bmp文件
postscript("mygraph.ps")                                                                postscript文件
想要把图形保存到当前工作目录之外,要在文件名中使用全路径。
# 示例,输出图形到jpeg文件
jpeg("c:/mygraphs/myplot.jpg")
plot(x)
dev.off()

5. 程序包

5.1 Packages  程序包

程序包是良好定义格式的R函数、数据和已编译代码的集合。存储程序包的目录称为存储库。R包括标准的程序包集合,其它程序包可通过下载和安装来使用。一旦安装之后,他们必须被加载到当前进程来使用。

.libPaths() # 获取存储库路径
library()   # 查看所有已安装的程序包
search()    # 查看当前加载的程序包

5.2  添加程序包

你可以根据你的分析需要扩展添加其他程序包。CRAN可以查看全部的已贡献程序包的列表。

按照下面的步骤:

下载并安装一个程序包(你仅需要做一次)

要使用程序包,使用library(程序包名称)命令把程序包加载到当前进程。(你需要在每个进程都运行该命令,除非你自定义环境变量每次自动加载)

在微软Windows系统:

从“程序包”菜单选择“安装程序包”

选择一个CRAN镜像(如Norwar)

选择一个程序包(如boot)

然后用library(程序包名称)函数加载并使用。(如library(boot))

 

在Linux系统:

下载感兴趣的程序包压缩文件

在命令提示符下,安装并使用。

R CMD INSTALL [options] [l-lib] pkgs