数据-R语言-图表-决策-Linux-Python数据科学与R语言R语言学习

R语言教程——Day2 帮助、工作空间、输入输出

2018-01-25  本文已影响21人  LibertyStone

R语言的内容浩大无边,我们不可能也没有必要一次学会所有内容,只需要学会R语言的枝干内容,在实际做项目的时候什么不会再现学什么,这是最高效的方式。所以在学新的内容、遇到bug时,最好的老师就是google和help文档,让我们来看看怎样获得帮助吧。

帮助

help('list') #查看list函数的作用和使用方法
?list #查看list函数的作用和使用方法
apropos('is')#查看所有包含ls字符的函数
example(list)#查看list函数的例子

注意:
apropos()里的内容需要加引号(英文的),在R中加引号常常表示字符串,不加引号通常表示变量或函数的名字。apropos('is')表示列出所有含有is字符串的函数。is表示一个字符串,所以需要加引号。而在help('list')中加不加引号都会得到同样的结果,大家可以试试看。加引号表示要调出包含list字符串的帮助,不加引号表示调出函数list的帮助,在这个例子中,二者运行的结果是一致的。关于引号更多的内容会在字符串变量一节中有详解。

工作空间

工作空间(workspace)就是当前R的工作环境,它储存着用户定义的所有对象(向量、矩阵、函数、数据框、列表) 。工作目录(working directory)是R用来读取文件和保存结果的默认目录。
我们来查看一下当前工作空间中的对象:

> ls()
character(0)

定义一个变量a,查看工作空间的变量:

> a <- 'hello'
> ls()
[1] "a"

删除这个变量:
rm(a)
删除工作空间的所有对象:
rm(list=ls())
保存工作空间的所有对象:
save.image()
工作空间保存哪里了?查一下工作目录在哪里:
getwd()
我的工作目录是C:\Users\Administrator\Documents,果然在工作目录中找到了刚才保存的文件,文件类型 .RData 。

image.png
改变工作目录到‘F:\’,注意对windows用户来讲R语言的路径有特殊性,setwd('F:\’)会报错,需要写成下面的两种方式。在R中所有的路径都需要写为上划线或者双下划线。另外不要忘记引号:
setwd('F:\\')
setwd('F:/')

输入输出

在启动R后,一般来讲我们通过键盘输入命令,在屏幕上看到结果,不过有时我们需要重复利用R文件,或者把显示在屏幕上的结果输出到特定的文档中。R有可以非常方便控制输入输出的函数。

输入

新建一个R语言脚本,输入命令print('hello,world'),然后保存为script1.R
到工作目录中,如果我需要直接用script1.R脚本的执行结果,只需要输入一下代码:

>source('script1.R')
[1] "hello,world"

如果文件的位置不是R的工作目录,那么source括号中要写文件的完整路径。同时大家应该注意到了,通过source函数输入的不是脚本的代码,而是代码运行的结果。

输出文本

sink("filename")将输出重定向到文件filename中。默认情况下,如果文件已经存在,则它的内容将被覆盖。使用参数append=TRUE可以将文本追加到文件后,而不是覆盖它。参数split=TRUE可将输出同时发送到屏幕和输出文件中。不加参数调用命令sink()将仅向屏幕返回输出结果。试着运行以下代码,然后打开文件script1,输出结果已经存储在里面。

>sink('script1.R',append=TRUE,split=TRUE)
>1+1
[1] 2
sink()

图形输出

sink函数可以重定向文本输出,但它对图形输出没有影响。要重定向图形输出,可以使用以下几个函数输出不同的格式,最后使用dev.off()将输出返回到屏幕。

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

尝试以下代码:

> png('png3')
> a <-1:3
> b <- 2:4
> plot(a,b)
> dev.off()

打开工作目录下的png3文件,就可以看到绘制的图表,这是保存R语言绘制的图表的利器。

`

上一篇 下一篇

猜你喜欢

热点阅读