没有合适的资源?快使用搜索试试~ 我知道了~
首页R语言新手入门经典教程2.0:全面指南
R语言新手入门经典教程2.0:全面指南
需积分: 0 0 下载量 45 浏览量
更新于2024-06-30
收藏 780KB PDF 举报
"R语言经典入门_20121"是一本专为R语言初学者设计的权威指南,由Emmanuel Paradis博士撰写,他在蒙彼利埃二大学的进化科学研究所工作。这本书最初于2002年发布,后来在2005年进行了修订,并提供了相应的LaTeX源文件。中文版是由四位译者共同翻译完成的,包括王学枫、谢益辉、李军焘和丁国徽,他们在不同章节负责翻译工作,确保了内容的准确性和流畅性。 该书的核心内容分为两大部分:基础理论和数据操作。在第一章“导言”中,作者介绍了R语言的历史背景、设计理念以及其在统计分析领域的广泛应用,旨在帮助读者建立起对R语言整体框架的认识。接着,第二章深入讲解了R语言的基本原理,如对象的创建、管理和删除,以及如何利用R的在线帮助系统寻求问题解答。 第三部分着重于R的数据操作,涵盖了数据处理、数据结构的使用、数据类型和数据操作方法等,这些都是R语言实践中的核心技能。这部分内容对于理解和使用R进行实际数据分析至关重要,无论是数据清洗、转换还是可视化,都有详尽的指导。 值得注意的是,这本书的中文版得到了华东师范大学汤银才老师的编辑校订,北京大学李东风老师也进行了全面审阅,并提出宝贵建议。尽管翻译过程中可能存在仓促和疏漏,但作者和译者们鼓励读者提出反馈,并希望通过交流和修正来不断提高内容质量。 “R for Beginners”是一本实用且全面的R语言入门教程,适合任何希望学习或提升R技能的读者,无论是在学术研究还是数据科学领域。对于初学者来说,它不仅提供了基础知识,还提供了解决实际问题的工具和方法,是R语言学习者的必备参考书籍。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86307922/bgd.jpg)
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
![](https://csdnimg.cn/release/download_crawler_static/86307922/bge.jpg)
> 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
![](https://csdnimg.cn/release/download_crawler_static/86307922/bgf.jpg)
向量是一个变量,其意思也即人们通常认为的那样;因子是一个分类变
量;数组是一个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
![](https://csdnimg.cn/release/download_crawler_static/86307922/bg10.jpg)
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页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/c0de91c75a5240b49de14582840de0d3_weixin_35832025.jpg!1)
嗨了伐得了
- 粉丝: 19
- 资源: 290
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 共轴极紫外投影光刻物镜设计研究
- 基于GIS的通信管线管理系统构建与音视频编解码技术应用
- 单站被动目标跟踪算法:空频域信息下的深度研究与进展
- 构建通信企业工程项目的项目管理成熟度模型:理论与应用
- 基于控制理论的主动队列管理算法与稳定性分析
- 谷歌文件系统下的实用网络编码技术在分布式存储中的应用
- CMOS图像传感器快门特性与运动物体测量研究
- 深孔采矿研究:3D数据库在采场损失与稳定性控制中的应用
- 《洛神赋图》图像研究:明清以来的艺术价值与历史意义
- 故宫藏《洛神赋图》图像研究:明清艺术价值与审美的飞跃
- 分布式视频编码:无反馈通道算法与复杂运动场景优化
- 混沌信号的研究:产生、处理与通信系统应用
- 基于累加器的DSP数据通路内建自测试技术研究
- 跨国媒体对南亚农村社会的影响:以斯里兰卡案例的社会学分析
- 散单元法与CFD结合模拟气力输送研究
- 基于粒化机理的粗糙特征选择算法:海量数据高效处理研究
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)