本章内容
探索R中的数据结构(向量、因子、矩阵、数据框、列表),2.1-2.2输入数据
导入数据(SQL、DOS、SAS/SPSS……),2.3
标注数据,2.4
2.1 数据集的概念
数据集:
一个矩形数组,有行列,分别表示观测observation/变量variable
(或记录record/字段field、示例example/属性attribute)
R处理的数据类型(模式):
数值型、字符型、逻辑型、复数型、原生型(字节)?
R将实例标识符成为行名(rownames),将类别型(包括名义型和有序型)变量称为因子(factors)
2.2 数据结构
数据结构的类别:
标量、向量、矩阵、数组、数据库、列表
数据结构间的差异:
存储数据的类型
创建方式
结构复杂度
用于定位和访问其中元素的标记
2.2.1 向量
一维数组;
每个元素具有相同的数据类型(数值型、字符型、逻辑型);
标量是只含一个元素的向量,用于保存常量;
通过在方括号中给定元素所处位置的数值,来访问向量中的元素
2.2.2 矩阵
二维数组;
每个元素具有相同的数据类型(数值型、字符型、逻辑型);
用下标和方括号来选择矩阵中的行、列或元素;
选择多行或多列时,下标i和j可为数值型向量
2.2.3 数组
维度可大于2;
其他特性与矩阵类似
2.2.4 数据框
【疑】如何生成指定范围内的随机整数?
不同的列可以包含不同模式的数据;
每一列的数据模式必须唯一;
通过下标记号选取元素;
指定列名选取
1.attach()、detach()、with() 简化代码
attach()可将数据框添加到R的搜索路径中;
detach()将数据框从搜索路径中移除,建议与attach()成对使用;
最好在分析一个单独的数据框,并且不太可能有多个同名对象时使用,否则会有“对象被屏蔽masked”的风险
【疑】mpg is masked from package ggplot2?
with(object,{})可解决上述名称冲突问题;
但赋值仅在此函数的括号内生效;
使用特殊赋值符<<-替代标准赋值符<-,即可将对象保存到with()之外的全局环境中
2.实例标识符
实例标识符(case identifier)可通过数据框操作函数中的rowname选项指定
【疑】若不标识,效果如何?
2.2.5 因子
类别(名义型)变量有序型变量:顺序
连续型变量:顺序+数量(顺序间相差多少)
前两者在R中成为因子
函数factor()以一个整数向量的形式存储类别值,整数的取值范围是[1...k](其中k是名义型变量中唯一值的个数),同时一个由字符串(原始值)组成的内部向量将映射到这些整数上
因子是向量的一种存储形式
2.2.6 列表
列表是一些对象(或成分)的有序集合,允许整合若干(可能无关的)对象到单个对象名下
通过双重方括号指明代表某个成分的数字或名称来访问列表中的元素
列表允许以一种简单的方式组织和重新调用不相干的信息;
许多R函数的运行结果都是以列表的形式返回
2.3 数据的输入
2.3.1 使用键盘输入数据
适用于小数据集
2.3.2 从带分隔符的文本文件导入数据
默认sep=" ",表示分隔符可为一个或多个空格、制表符、换行符或回车符;
字符型变量将转换为因子;
可通过stringAsFactors=FALSE来制止;
或使用选项colClasses为每一列指定一个类
2.3.3 导入Excel数据
2.3.11 访问数据库管理系统
2.4 数据集的标注
2.4.2 值标签
【疑】值标签会否改变实际值?
2.5 处理数据对象的实用函数
【疑】class()和mode()的差异?