没有合适的资源?快使用搜索试试~ 我知道了~
首页R语言入门经典手册:中文版2.0
"《R for Beginners》中文版2.0是由Emmanuel Paradis博士所著,他是法国蒙彼利埃二大演化科学研究所的研究人员。这本书最初在2002年发布,随后在2005年进行了修订,成为学习R语言的理想入门教材。R语言是一种广泛应用于统计计算、数据分析和图形展示的编程语言,特别适合初学者入门。 该书的核心内容包括R的基本原理,如如何理解R的工作方式,对象的创建、组织以及管理。其中,第2章详述了基础概念,如R中的基本原理,如何生成、排列和删除对象,这些都是理解R语言结构的关键。此外,书中还介绍了R的数据操作,这是数据科学的核心环节,包括数据加载、处理和清洗,以及如何利用R进行各种统计分析。 学习过程中,R的在线帮助系统是一个重要的辅助工具,第2.3节专门讲解了如何利用R内置的帮助文档获取所需信息,这对于快速解决问题和学习新功能至关重要。 本书的翻译工作由四位志愿者共同完成,他们分别是王学枫、谢益辉、李军焘和丁国徽,他们在各自章节做出了贡献。同时,华东师范大学汤银才老师负责编辑校对,北京大学李东风老师进行了全面审阅并给出了许多宝贵建议,他们的努力确保了本书的质量。 虽然翻译匆忙,可能存在一些错误,但作者诚挚地邀请读者提出反馈,并鼓励大家通过pwxf@hotmail.com进行交流和纠正。版权方面,这本书允许在保留版权声明的前提下,进行复制、分发和翻译,只要保证版权信息不被遗漏。 《R for Beginners》是一本实用且深入浅出的R语言教程,无论是对于想要学习R的新手,还是有一定基础的用户,都能从中获益匪浅。它以清晰的步骤和实例,引导读者逐步掌握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页未读,继续阅读
suxi1990
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功