其他对象
矩阵
二维向量
矩阵操作更类似于向量,而不是向量的向量或者向量列表
下标可以用用来引用元素,但并不反应矩阵的存储方式
矩阵没有一个确定的属性
数组
具有两个以上维度的向量
数组可用来表示多个维度的同类型数据
数组的底层存储机制是向量
数组也没有确定的类属性
因子
因子型变量表示分类信息
因子型变量通常是一个有序项目的集合
因子型变量可以取得的所有值被称为因子水平
因子型变量的输出结果中各个因子水平没有加引号,且都明确显示出来了
> (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语言其它对象内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!