其他对象

矩阵

二维向量

矩阵操作更类似于向量,而不是向量的向量或者向量列表

下标可以用用来引用元素,但并不反应矩阵的存储方式

矩阵没有一个确定的属性

数组

具有两个以上维度的向量

数组可用来表示多个维度的同类型数据

数组的底层存储机制是向量

数组也没有确定的类属性

因子

因子型变量表示分类信息

因子型变量通常是一个有序项目的集合

因子型变量可以取得的所有值被称为因子水平

因子型变量的输出结果中各个因子水平没有加引号,且都明确显示出来了

> (eye.colors <- factor(c("brown", "blue", "blue", "green", "brown", "brown", "brown")))
[1] brown blue blue green brown brown brown
levels: blue brown green
> class(eye.colors)
[1] "factor"

r在输出有序的因子时会显示因子水平的顺序

因子型数据在计算机内部存储为整型数据

因子水平将每个整型数据映射到一个因子水平上

因为整型数据占用的存储空间较少,因此这种方法比字符串向量更节省存储空间

可以将因子型变量转换为整型数组

> (eye.colors.integer.vector <- unclass(eye.colors))
[1] 2 1 1 3 2 2 2
attr(,"levels")
[1] "blue" "brown" "green"
> class(eye.colors.integer.vector)
[1] "integer"

也可蛇形类属性将整型向量重新转换为因子

> (class(eye.colors.integer.vector) <- "factor")
[1] "factor"
> eye.colors.integer.vector
[1] brown blue blue green brown brown brown
levels: blue brown green

(笔记:没懂内部是如何将整数值与因子水平匹配的)

数据框

用于展示表格数据,每列的内容可以分属不同的类型

数据框中的每一行必须具有相同的长度

通常,数据框中的每一列都有列名,有时候行也会有名字

数据框中的列经常被用来表示变量

library(nutshell)
data(top.bacon.searching.cities)
top.bacon.searching.cities
> top.bacon.searching.cities
      city rank
1    seattle 100
2   washington  96
3    chicago  94
4    new york  93
5    portland  93
6    st louis  92
7     denver  90
8     boston  90
9  minneapolis  89
10    austin  87
11 philadelphia  85
12 san francisco  84
13    atlanta  82
14  los angeles  80
15  richardson  80
> typeof(top.bacon.searching.cities)
[1] "list"
> class(top.bacon.searching.cities)
[1] "data.frame"

列表中引用元素的方法在数据框总共也能使用

公式类formula

用于描述变量之间的关系

y是x1,x2和x3的函数

> sample.formula <- as.formula(y ~ x1 + x2 + x3)
> class(sample.formula)
[1] "formula"
> typeof(sample.formula)
[1] "language"

公式中包含的不同项目的含义

说明 栗子
变量名字 表示变量的名字
波浪号~ 用来连接公式中的响应变量(波浪号左边)和自变量(波浪号右边)
加号+ 用来表示变量之间的线性关系
0 当公式中加入0时,意味着模型中没有截距项 y~u+w+v+0
竖线| 用来指定条件变量,常用在lattice绘图公式中
变量保护函数i() 放在i内的表达式按照算术意义进行解释 a + b:表示变量a和变量b都包含在公式中.i(a + b):表示(a + b)这个和应该包含在公式中
星号* 表示变量之间的交互效应 y~(u + v)* w
插入符^ 表示幂 y~(u + v)^2等价于y~(u + v)*(u + v)
变量的函数 意味着指定变量的函数应当作为自变量包含在公式中 y~log(u) + sin(v) + w

到此这篇关于r语言中其它对象知识点总结的文章就介绍到这了,更多相关r语言其它对象内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!