入门~1、R语言介绍

1、R语言介绍

典型的数据分析步骤

1.1R简介与安装

R是用于统计,绘图的语言和操作环境。直接下载安装就可以了。

1.2R的使用

(1)R是区分大小写的解释型语言
(2)在命令提示符>后输入命令执行一条命令
(3)可一次性执行脚本文件中的一组命令
(4)R包括很多数据类型:向量、矩阵、数据框(与数据集类似)、列表(各种对象的集合)
(5)R的多数功能由程序内置函数和用户自编函数提供。
(6)一次交互式会话期间的所有数据都保存在内存中
(7)基本函数是默认的,高级函数需要按需加载程序包
(8)R语句由函数和赋值构成
(9)<- 为对象赋值的意思,例如a <- 5
(10-> 与<-是一样的意思,只是反转了赋值方向
(11)= 也可以赋值,但是等号赋值会出现问题,不推荐
(12)# 注释

1.2.1新手上路

(1)c() 将参数组合成一个向量或列表,例如age <- c(1, 3, 5, 7, 9)就是将age这个对象赋予1,3,5,7,9这个数字列表
(2)mean() 均数
(3)sd() 标准差
(4)cor() 相关度
(5)plot() 散点图图表
(6)q() 退出R
(7)demo() 直接运行查看R所有能制作的图形
(9)可单独参看图形:demo(graphics)、demo(Hershey)、demo(persp)、demo(image)

例如:
> 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()

上面的例子是给age和weight分别赋予了两个数字列表,求出了平均数7.06,标准差2.08和相关度0.91,画出age和weight的散点图,最后退出R。

1.2.2获取帮助

help.start() 打开帮助首页
help('foo')或?foo 查看函数foo的帮助(引号可以忽略)
help.search("foo")或??foo 以函数foo为关键词搜索本地帮助文档
example("foo") 函数foo的使用示例
RSiteSearch("foo") 以foo为关键词搜索在线文档和邮件列表存档
apropos("foo", mode="function") 列出名称中含有foo的所有函数
data() 列出当前已加载所含的所有可用示例数据集
vignette() 列出当前已安装包中所有可用的vignette文档
vignette() 为主题foo显示指定的vignette文档

1.2.4工作空间

工作空间
工作空间是R当前的工作环境,可以储存可以使用的所有对象(向量、矩阵、数据框和列表等)。结束R会话后可以保持为镜像,下次直接调用,对于持续性的完成任务非常有用。
上下方向键查看已输入命令的历史记录
如果需要读入一个不在当前目录下的文件,需要输入完整路径,记得用引号闭合目录名和文件名
目录要使用正斜杠/,反斜杠\是作为转义符

工作空间常用函数

getwd() 显示当前的工作目录(工作空间储存目录)
setwd("mydirectory") 修改当前的工作目录为mydirectory
dir.create(C:/my) 在C盘中创建一个my的目录
ls() 列出当前工作空间中的对象
rm(objectlist) 移除(删除)一个或多个对象
help(options) 显示可用选项的说明
options() 显示或设置当前选项
history(#) 显示最近使用过的#个命令(默认值为25)
savehistory("myfile") 保存命令历史到文件myfile中(默认值为.Rhistory)
loadhistory("myfile") 载入一个命令历史文件(默认值为Rhistory)
save.image("myfile") 保存工作空间到文件myfile中(默认值为.RData)
save(objectlist, file="myfile") 保存指定对象到一个文件中
load("myfile") 读取一个工作空间到当前会话中(默认值为.RData)
q(() 退出R,将询问是否保存工作空间

用于管理R工作空间的命令使用示例:
setwd("C:/myprojects/projectl")
options()
options(digits=3)
x <- runif(20)
summary(x)
hist(x)
savehistory()
save.image()
q()

首先,当前工作目录被设置为C:/myprojects/project1,当前的选项设置情况将显示出来,而数字将被格式化,显示为具有小数点后三位有效数字的格式。然后,我们创建了一个包含20个均匀分布随机变量的向量(x <- runif(20)),生成了此数据的摘要统计量和直方图(summary(x)、hist(x))。最后,命令的历史记录保存到文件.Rhistory中,工作空间(包含向量x)保存到文件.RData中,会话结束。

1.2.4输入和输出

输入

source() 在当前会话中执行一个在当前目录下的R脚本文件
例如:source(myscript.R) 将执行一个含在文件myscript.R中的R语句集合

文本输出

sink("filename") 输出重定向到文件filename中,默认会覆盖以存在的文件
append=TRUE 将文本追加到文件后,而不是覆盖
split=TRUE 将输出同时发送到屏幕和输出文件中,不加参数调用sink()将仅向屏幕返回输出结果

图形输出

使用sink()只能重定向文本输出对图形没影响,重定向图形输出,使用下面的函数列表即可,最后dev.off()将输出返回到终端
pdf("filename.pdf") PDF文件
win.metafile("filename.wmf") Windows图元文件
png("filename.png") PBG文件
jpeg("filename.jpg") JPEG文件
bmp("filename.bmp") BMP文件
postscript("filename.ps") PostScript文件

例子

source("script1.R") 执行script1.R中的R代码,结果打印在屏幕上

sink("myoutput, append=TRUE, split=TRUE")
pdf("mygraphs.pdf")
source(script2.R)

执行script2.R中的R代码,结果也打印在屏幕上,并且文本输出将被追加到文件myoutput中,图形输出保存到文件mygraphs.pdf中

sink()
dev.off()
source("script3.R")

执行script3.R中的R代码,结果将打印在屏幕上。这一次没有文本或图形输出保存到文件中。
整个过程如下图:

使用函数source()进行输入并使用函数sink()进行输出

1.3包

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

1.3.1包的安装

R自带了一些默认包,要使用高级函数就需要下载包
install.packages() ()不加参数的话,会显示CRAN镜像站点列表,选择其中一个镜像站点将看到可用包的列表,选择其中一个包即可进行下载和安装。
install.packages("gclus") 下载和安装gclus包,知道其他包的名称也可以直接输入名称进行下载和安装
update.packages() 更新已经安装的包
installed.packages() 列出安装的包以及版本号、依赖关系等信息

1.3.2包的载入

安装好包只是放到了库中,要在R会话中使用还需要载入。
library() 载入包
可以给R设置启动时自动载入某些常用包

1.3.3包的使用

载入一个包后,就可以使用这个包中包含的函数和数据集了
包中往往提供了演示性的小型数据集和示例代码,可以尝试这些新功能
帮助系统包含了每一个函数的一个描述(同时带有示例)
help(package="package_name") 输出某个包的简短描述以及包中的函数名称和数据集名称的列表
help() 可以查看其中任意函数或数据集的更多信息,这些信息也能从PDF帮助手册的形式从CRAN下载。

1.4批处理

linux或OS系统下输入命令:

R CMD BATCH options infile outfile
其中infile是包含了要执行的R代码所在文件的文件名,outfile是接收输出文件的文件名,options部分则列出了控制执行细节的选项。依照惯例,infile的扩展名是.R,outfile的扩展名为.Rout。

windows下输入:
"C:\Program Files\R\R-2.13.0\bin\R.exe" CMD BATCH
--vanilla --slave "c:\my projects\myscript.R"

将路径调整为R.exe所在的相应位置和脚本文件所在位置。要进一步了解如何调用R,包括命令行选项的使用方法,请参CRAN(http://cran.r-project.org)上的文档“Introduction to R”中文是R导论(https://cran.r-project.org/doc/contrib/Ding-R-intro_cn.pdf

1.5将输出用为输入——结果的重用

R的一个非常实用的特点是,分析的输出结果可轻松保存,并作为进一步分析的输入使用。

1.6大数据的处理

大数据的处理要注意数据集的大小和要应用的统计方法。R可以处理GB级到TB级的数据分析问题,但需要专门的手段。

1.7示例

help.start()
install.packages("vcd")
help(package="vcd")
library(vcd)
help(Arthritis)
Arthritis
example(Arthritis)
q()

(1)打开帮助首页
(2)安装vcd包
(3)列出这个包可用函数和数据集
(4)载入包并阅读数据集Arthritis
(5)显示Arthritis的内容
(6)运行Arthritis自带示例
(7)退出

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容