没有合适的资源?快使用搜索试试~ 我知道了~
首页R语言入门经典:从基础到实践
R语言入门经典:从基础到实践
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
"R语言入门经典" 本书"R语言入门经典"是Emmanuel Paradis博士的一部著作,专门针对R语言的初学者。R语言是由Ross Ihaka和Robert Gentleman共同开发的一个开源统计分析和图形绘制工具,它起源于AT&T贝尔实验室的S语言,但具有自己独特的设计理念和实现方式。R不仅是一个强大的软件系统,还是一种编程语言,它在统计学和数据科学领域广泛应用。 书中,Paradis博士提供的"R for Beginners"第二版详细介绍了R的基础知识和核心概念。这本中文版的翻译工作由多名志愿者协作完成,并由华东师范大学的汤银才老师进行编辑校对,北京大学的李东风老师审阅了全稿。译者们希望通过此书帮助中国读者快速掌握R语言的基本用法。 内容涵盖了R语言的各个方面,如: 1. 导言:这部分介绍R语言的背景、用途以及为何选择学习R,让读者对R有一个初步的认识。 2. 基本原理与概念:讲解R的基础语法,包括如何创建、操作和删除对象,这是理解R语言的基础。此外,还介绍了R的在线帮助系统,帮助用户在遇到问题时能够快速找到答案。 3. 数据操作:详细介绍R中数据的处理,包括数据类型(如向量、列表、矩阵、数据框等)、数据输入输出、以及如何进行基本的数据操作和转换,这些都是进行数据分析前必备的知识。 书中每章都深入浅出地阐述了R语言的核心元素,通过实例和练习帮助读者掌握这些概念。无论是统计学学生,还是需要进行数据分析的科研工作者,都能从中受益。对于想要踏入R语言世界的人来说,这本书提供了一个清晰的学习路径,是入门R语言的理想资源。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/4219378/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/4219378/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/4219378/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/4219378/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页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
xinzjing
- 粉丝: 3
- 资源: 8
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](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)