cbind()和rbind()构建分块矩阵
函数cbind() 和rbind():把向量和矩阵拼成一个新的矩阵。cbind() 把矩阵横向合并成一个大矩阵(列方式),而rbind()是纵向合并(行方式)。
对数组实现连接操作的函数c()
将一个数组强制转换成简单向量的标准方法是用函数as.vector()。
vec <- as.vector(X)#等价操作vec <- c(X)因子的频率表
单个因子会把各部分数据分成不同的组。类似的是,一对因子可以实现交叉分组等。函数table() 可以从等长的不同因子中计算出频率表。如果有k 个因子参数,那么结果将是一个k-维的频率分布数组。
statefr <- table(statef) statefr <- tapply(statef, statef, length)13). 列表(list)
R的列表是一个以对象的有序集合构成的对象。列表中包含的对象又称为它的分量(components)。分量可以是不同的模式或类型,如一个列表可以同时包括数值向量,逻辑向量,矩阵,复向量,字符数组,函数等等。
Lst <- list(name="Fred", wife="Mary", no.children=3,child.ages=c(4,7,9))分量常常会被编号,并且可以利用这种编号来访问分量。如果列表Lst 有四个分量,这些分量则可以用Lst[[1]], Lst[[2]], Lst[[3]] 和Lst[[4]] 独立访问。因为Lst 是一个列表,所以函数length(Lst) 给出的仅仅是分量的数目. 列表的分量可以被命名,这种情况下可以通过名字访问。
构建和修改列表
list():将已有的对象构建成列表。
Lst[5] <- list(matrix=Mat)列表连接
当连接函数c() 的参数中有列表对象时,结果就是一个列表模式的对象。它的分量是那些当作参数的列表。
list.ABC <- c(list.A, list.B, list.C)14). 数据框
数据框是一个属于data.frame类的列表。
对于可能属于数据框的列表对象有下面一些限制条件,
- 分量必须是向量(数值, 字符, 逻辑),因子,数值矩阵,列表或者其他数据框;
- 矩阵,列表和数据框为新的数据框提供了尽可能多的变量,因为它们各自拥有列,元素或者变量;
- 数值向量,逻辑值,因子保持原有格式,而字符向量会被强制转换成因子并且它的水平就是向量中出现的独立值;
- 在数据框中以变量形式出现的向量结构必须长度一致,矩阵结构必须有一样的行数.
- 数据框常常会被看作是一个由不同模式和属性的列构成的矩阵。
创建数据框
可以通过函数data.frame 创建符合上面对列(分量)限制的数据框对象:
accountants <- data.frame(home=statef, loot=incomes)符合数据框限制的列表可被函数as.data.frame() 强制转换成数据框。
绑定任意的列表
attach() 是一个泛型函数。它不仅允许搜索路径绑定目录和数据框,而且还可以绑定其他对象。所以任何其他"list" 模式的对象都可以这样绑定:
attach(any.old.list)任何被绑定的东西都可利用detach 通过位置编号或者名字(最好采用名字)去 除绑定。
管理搜索路径
search(): 显示当前的搜索路径。它可以用来跟踪已被绑定或者绑定去除的列表和数据框(以及包)。
search() [1] “.GlobalEnv” “Autoloads” “package:base” 其中.GlobalEnv 是工作空间
lentils 被绑定后,我们可以看到
search() [1] ".GlobalEnv" "lentils" "Autoloads" "package:base"ls(2) [1] "u" "v" "w"ls (或者objects) 可以用来查看搜索路径中任何位置的内容。
15). 读数据
大的数据对象常常是从外部文件中读入,而不是在R 对话时用键盘输入的。
read.table()函数
为了可以直接读取整个数据框,外部文件常常要求有特定的格式。 第一行可以有该数据框各个变量的名字。 随后的行中第一个条目是行标签,其他条目是各个变量的值。
scan() 函数
假定有三个数据向量,长度一致并且要求并行读入。其中,第一个向量是字符模式,另外两个是数值模式,文件是input.dat。第一步是用scan() 以列表的形式读入这三个向量,
访问内置数据
R 提供了大约100个内置的数据集(在包datasets 中),其他的包(包括和R捆绑发布的推荐包) 也提供了一些作为例子的数据集。可以用下面的命令查看当前能访问的数据集列表
data()从其他R 包里面导入数据
为了访问某个特定包的数据,可以使用参数package,例如
data(package=“rpart”) data(Puromycin, package=“datasets”)如果一个包已经被library 绑定,那么它的数据集会被自动地加入到R 的搜索路径中去。
编辑数据
edit(x):调用数据框和矩阵时,R 会产生一个电子表形式的编辑环境。
xnew <- edit(xold) |