没有合适的资源?快使用搜索试试~ 我知道了~
首页R语言入门经典:中文版教程
R语言入门经典:中文版教程
需积分: 10 2 下载量 10 浏览量
更新于2024-07-22
收藏 686KB PDF 举报
"《R for Beginners》中文版2.0是由Emmanuel Paradis博士撰写的一本经典的R语言入门教程。该书最初在2002年发布英文版,随后作者在2005年进行了修订,中文版则是基于这个修订版进行翻译。这本书对R语言的初学者来说是一份宝贵的资源,它深入浅出地介绍了R的基本原理、数据操作以及编程概念。 在本书中,第1章是导论,引导读者了解R语言的总体概念,为后续的学习提供基础。章节2主要探讨了R的基本原理,包括对象的创建、排列和删除,以及如何利用R的在线帮助系统来解决问题和学习新知识。这些内容对于理解R语言的数据结构和交互方式至关重要。 第3章深入到R的数据操作部分,涵盖了数据的处理、清洗、转换和分析,这些都是数据科学家日常工作的核心环节。R以其强大的数据处理能力闻名,通过本章,读者将学会如何有效地使用R进行数据操作。 此外,翻译工作由四位志愿者共同完成,他们分别负责不同的章节,如王学枫翻译第1-2章,谢益辉翻译第3章,李军焘负责第4章,丁国徽则负责第5-7章。华东师范大学的汤银才老师负责文档编辑校对,北京大学的李东风老师对全文进行了详尽的审阅,并提供了宝贵的建议。编者强调,由于时间仓促和人力有限,可能存在一些错误,鼓励读者积极提出反馈,共同完善内容。 版权方面,作者允许在保留版权声明的前提下,自由复制和分发文档,同时也允许翻译成任何语言。这本书的出版旨在为R语言的学习者提供一个清晰易懂的入门指南,帮助他们在R的世界里建立起扎实的基础。"
资源详情
资源推荐
3 R的的的数数数据据据操操操作作作
3.1 对对对象象象
我们已经看到R通过一些对象来运行,当然首先这些对象是用它们的名称
和内容来刻画的,其次也通过对象的数据类型即
属性
来刻画。为了理解这些
属性的用处,我们以一个在{1,2,3}中取值的变量为例:这个变量可以是一个
整数变量(例如巢中蛋的个数),或者也可以是一个分类变量的编码(例如
某些甲壳类动物的三种性别:雄、雌和雌雄同体)。
显然对这个变量的统计分析在以上两例中将是不相同的,对象的属性
在R中提供着所需的信息。更技术性也更一般地说,对于作用于一个对象的函
数,其表现将取决于对象的属性。
所有的对象都有两个
内在
属性:
类型
和
长度
。类型是对象元素的基本种
类,共有四种:数值型,字符型,复数型
7
和逻辑型(FALSE或TRUE),虽然也
存在其它的类型,但是并不能用来表示数据,例如函数或表达式;长度是对
象中元素的数目。对象的类型和长度可以分别通过函数mode和length得到。
> x <- 1
> mode(x)
[1] "numeric"
> length(x)
[1] 1
> A <- "Gomphotherium"; compar <- TRUE; z <- 1i
> mode(A); mode(compar); mode(z)
[1] "character"
[1] "logical"
[1] "complex"
无论什么类型的数据,缺失数据总是用NA(
不可用
)来表示;对很大的数
值则可用指数形式表示:
> N <- 2.1e23
> N
[1] 2.1e+23
R可以正确地表示无穷的数值,如用Inf和-Inf表示±∞,或者用NaN(
非
数字
)表示不是数字的值。
7
本手册中不讨论复数型
9
> x <- 5/0
> x
[1] Inf
> exp(x)
[1] Inf
> exp(-x)
[1] 0
> x - x
[1] NaN
字符型的值输入时须加上双引号",如果需要引用双引号的话,可以
让它跟在反斜杠\后面;这两个字符合一起\"在某些函数如cat的输出显示
或write.table写入磁盘(参见p. 14,函数的qmethod选项)时会被以特殊的方式
处理。
> x <- "Double quotes \" delimitate R’s strings."
> x
[1] "Double quotes \" delimitate R’s strings."
> cat(x)
Double quotes " delimitate R’s strings.
也有另一种表示字符型变量的方法,即用单引号(’)来界定变量,这种情
况下不需要用反斜杠来引用双引号(但是引用单引号时必须要用!)
> x <- ’Double quotes " delimitate R\’s strings.’
> x
[1] "Double quotes \" delimitate R’s strings."
下表给出了表示数据的对象的类别概览:
对对对象象象 类类类型型型 是是是否否否允允允许许许
同同同一一一个个个对对对象象象中中中
有有有多多多种种种类类类型型型???
向量 数值型,字符型,复数型,
或
逻辑型 否
因子 数值型
或
字符型 否
数组 数值型,字符型,复数型,
或
逻辑型 否
矩阵 数值型,字符型,复数型,
或
逻辑型 否
数据框 数值型,字符型,复数型,
或
逻辑型 是
时间序列(ts) 数值型,字符型,复数型,
或
逻辑型 否
列表 数值型,字符型,复数型,逻辑型, 是
函数,表达式,. . .
10
向量是一个变量,其意思也即人们通常认为的那样;因子是一个分类变
量;数组是一个k维的数据表;矩阵是数组的一个特例,其维数k = 2。注
意,数组或者矩阵中的所有元素都必须是同一种类型的;数据框是由一个
或几个向量和(或)因子构成,它们必须是等长的,但可以是不同的数据类
型;“ts”表示时间序列数据,它包含一些额外的属性,例如频率和时间;
列表可以包含任何类型的对象,包括列表!
对于一个向量,用它的类型和长度足够描述数据;而对其它的对象则另
需一些额外信息,这些信息由
外在
的属性给出。这些属性中的是表示对象维
数的dim,比如一个2行2列的的矩阵,它的dim是一对数值[2,2],但是其长度
是4。
3.2 在在在文文文件件件中中中读读读写写写数数数据据据
对于在文件读取和写入的工作,R使用工作目录来完成。可以使用命
令getwd() (
获得 工作 目录
)来找 到目 录, 使用 命令setwd("C:/data") 或
者setwd("/home/paradis/R") 来改变目录。如果一个文件不在工作目录里
则必须给出它的路径
8
。
R可以用下面的函数读取存储在文本文件(ASCII)中的数据:read.table
(其中有若干参数,见后文),scan和read.fwf。R也可以读取以其他格式的
文件(Excel, SAS, SPSS, . . . ) 和访问SQL类型的数据库,但是基础包中并不
包含所需的这些函数。这些功能函数对于R的高级应用是十分有用的,但是我
们在这里将读取文件限定在ASCII格式。
函数read.table用来创建一个数据框,所以它是读取表格形式的数据的
主要方法。举例来说,对于一个名为data.dat的文件,命令:
> mydata <- read.table("data.dat")
将创 建 一个数 据 框名为mydata, 数 据框中 每 个变量 也 都将被 命 名,
缺省值为V1, V2, . . . 并且可以单独地访问每个变量,代码为:mydata$V1,
mydata$V2, . . . , 或者用mydata["V1"], mydata["V2"], . . . , 或者还有一种方
法,mydata[, 1], mydata[,2 ], . . .
9
这里有一些选项的缺省值(即如果用户
不设定那么R将自动使用的值)见于下表:
read.table(file, header = FALSE, sep = "", quote = "\"’", dec = ".",
row.names, col.names, as.is = FALSE, na.strings = "NA",
colClasses = NA, nrows = -1,
skip = 0, check.names = TRUE, fill = !blank.lines.skip,
8
在Windows中,为Rgui.exe创建一个快捷方式是比较有用的,在快捷方式“属性”的“起
始位置”中改变目录,然后用此快捷方式启动R时这个目录就会成为工作目录
9
注 意 这 几 种 方 法 的 结 果 是 有 区 别 的 :mydata$V1和mydata[, 1]是 向 量 ,
而mydata["V1"]是数据框。后面(p. 19)将会讲到关于处理对象的详情。
11
strip.white = FALSE, blank.lines.skip = TRUE,
comment.char = "#")
file 文件名(包在""内,或使用一个字符型变量),可能需要全路径
(注意即使是在Windows下,符号\ 也不允许包含在内,必须用/替
换),或者一个URL链接(http://...)(用URL对文件远程访问)
header 一个逻辑值(FALSE or TRUE),用来反映这个文件的第一行是否包含
变量名
sep 文件中的字段分离符,例如对用制表符分隔的文件使用sep="\t"
quote 指定用于包围字符型数据的字符
dec 用来表示小数点的字符
row.names 保存着行名的向量,或文件中一个变量的序号或名字,缺省时行号取
为1, 2, 3, . . .
col.names 指定列名的字符型向量(缺省值是:V1, V2, V3, . . . )
as.is 控制是否将字符型变量转化为因子型变量(如果值为FALSE),或者仍
将其保留为字符型(TRUE)。as.is可以是逻辑型,数值型或者字符
型向量,用来判断变量是否被保留为字符。
na.strings 代表缺失数据的值(转化为NA)
colClasses 指定各列的数据类型的一个字符型向量
nrows 可以读取的最大行数(忽略负值)
skip 在读取数据前跳过的行数
check.names 如果为TRUE,则检查变量名是否在R中有效
fill 如果为TRUE且非所有的行中变量数目相同,则用空白填补
strip.white 在sep已指定的情况下,如果为TRUE ,则删除字符型变量前后多余的
空格
blank.lines.skip 如果为TRUE,忽略空白行
comment.char 一个字符用来在数据文件中写注释,以这个字符开头的行将被忽略
(要禁用这个参数,可使用comment.char = "")
read.table的几个变种因为使用了不同的缺省值可以用在几种不同情况
下:
read.csv(file, header = TRUE, sep = ",", quote="\"", dec=".",
fill = TRUE, ...)
read.csv2(file, header = TRUE, sep = ";", quote="\"", dec=",",
fill = TRUE, ...)
read.delim(file, header = TRUE, sep = "\t", quote="\"", dec=".",
fill = TRUE, ...)
read.delim2(file, header = TRUE, sep = "\t", quote="\"", dec=",",
fill = TRUE, ...)
函数scan比read.table要更加灵活,它们的区别之一是前者可以指定变
量的类型,例如:
12
剩余76页未读,继续阅读
songhuaxin
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机人脸表情动画技术发展综述
- 关系数据库的关键字搜索技术综述:模型、架构与未来趋势
- 迭代自适应逆滤波在语音情感识别中的应用
- 概念知识树在旅游领域智能分析中的应用
- 构建is-a层次与OWL本体集成:理论与算法
- 基于语义元的相似度计算方法研究:改进与有效性验证
- 网格梯度多密度聚类算法:去噪与高效聚类
- 网格服务工作流动态调度算法PGSWA研究
- 突发事件连锁反应网络模型与应急预警分析
- BA网络上的病毒营销与网站推广仿真研究
- 离散HSMM故障预测模型:有效提升系统状态预测
- 煤矿安全评价:信息融合与可拓理论的应用
- 多维度Petri网工作流模型MD_WFN:统一建模与应用研究
- 面向过程追踪的知识安全描述方法
- 基于收益的软件过程资源调度优化策略
- 多核环境下基于数据流Java的Web服务器优化实现提升性能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功