这些对象中最简单的是向量对象,并且向量对象有六种数据类型的原子向量,也称为六类向量。 其他R对象是建立在原子向量之上的。六类向量类型如下表所示
数据类型 | 示例 | 验证代码 | 输出结果 |
---|---|---|---|
逻辑 | TRUE, FALSE | v <- TRUE ; print(class(v)); |
[1] "logical" |
数字值 | 1, 2.3, 92 | v <- 23.5 ; print(class(v)); |
[1] "numeric" |
整数 | 1L, 22L, 0L | v <- 2L ; print(class(v)); |
[1] "integer" |
复数 | 3 + 2i | v <- 2+5i ; print(class(v)); |
[1] "complex" |
字符 | ‘a’ , “abc”, “TRUE”, ‘12.2’ | v <- "TRUE" ; print(class(v)); |
[1] "character" |
原生 | "Hello" 存储值为: 48 65 6c 6c 6f |
v <- charToRaw("Hello"); print(class(v)); |
[1] "raw" |
在R编程中,非常基本的数据类型是叫作向量的R对象,它们保存不同类的元素,如上所示。 请注意在R语言中,类型的数量不仅限于上述六种类型,还有向量,列表等等,接下来我们就详细学习这几个类型.
1.向量:
--只能包含同一类型的对象
--创建向量
创建一个向量,一个有三种方式. 1.使用vector() 2.直接赋值 3.c().如:
在R中,系统也会对向量中的不同数据类型进行转换,转换为同一类型.
如,向量x3赋值时,是逻辑TRUE,数值1,字符abc,在输出时,系统全部自动转换为字符表示.
向量x4赋值时,是字符a,b,c,我们可以全部转为字符类型.但是会产生缺省值.
2.矩阵(matrix)
--向量 + 维度属性(整数向量:nrow,ncol)
--创建矩阵:1.使用matrix() 2.先来一个向量在为其添加维度属性.
这里,可以看到一个3行,2列,缺省值NA的矩阵
.然后,我们再创建一个矩阵,并且为其赋值1到6,其中我们看出来,是先填满第一列,然后再第二列....
其中,矩阵有一个dim(),可以显示该矩阵有几行几列.如x1有三行两列.
该矩阵的属性可以通过attributes()显示
这里,正如前面所说矩阵=向量+维度信息.因此我们可以先创建一个向量,然后为它添加维度信息来创建一个矩阵,如
在学习下如何把两个矩阵拼接为一个矩阵.
矩阵y,y1:
把两个矩阵按照行来拼接:rbind()
把两个矩阵按照列来拼接:cbind()
3.数组(array)
-- 与矩阵类似,只是维度可以大于等于2
--创建矩阵:使用array()
创建一个1到24的数组,dim = c(4,6)是指定他有四行,六列.该维度等于2,也可以说是一个矩阵.如:
创建一个1到24的数组,dim = c(2,3,4)是指定维度是2,3,4.他的维度大于2,是一个典型的数组.如:
4.列表(list)
--可以包含不同类型的对象
-- 创建:list()
创建一个list,元素为字符a,数字12,整数2,复数2+3i,逻辑TRUE.
为每一个元素去个别名.
创建一个list,元素分别为两个向量.
5.因子(factor)
--是使用向量创建的R对象.
--创建 factor()
创建一个因子,标示一组人的男女,levels默认
levels自己制定
查看各元素个数:table()
levels是因子的属性,我们去掉该属性看一下.unclass()
6.数据帧
-- 是表格数据对象.其中各列对象可以不同.
--创建:data.frame()
输出: