内容目录
R有许多储存数据的结构,包括标量、向量、数组、数据框和列表。它们在存储数据的类型、创建方式、结构复杂度,以及用于定位和访问其中个别元素的标记等方面均有所不同。
R的数据类型包括数值型、字符型、逻辑型(TRUE/FALSE)、复数型(虚数)和原生型(字节)。
在R语言中,连续变量是数值型。分类变量用因子(factor)表示,又分为名义型和有序型。
标量
标量是只含有一个元素的向量,例如f<-3、g<-‘US’和h<-TRUE。它们用于保存常量。
向量
向量(vector)是用于存储数值型、字符型或逻辑性数据的一维数据。执行组合功能的函数c()可以用来创建向量。
通过在方括号中给定元素所处位置的数值,可以访问向量中的元素。例如,a[c(2,4)]用于访问向量a中的第二个和第四个元素。更多示例如下:
1#生成名为a的向量
2a <- c('k','j','h','a','c','m')
3#a的第三个元素
4a[3]
5[1] "h"
6#a的第一、三、五个元素
7a[c(1,3,5)]
8[1] "k" "h" "c"
9#a的2到6个元素,是使用冒号:生成的一个数值序列。
10a[2:6]
11[1] "j" "h" "a" "c" "m"
R语言与其他编程语言不同。元素是从1开始算的,而不是零。如果在python中,a[3],返回a,a[0]返回k。
矩阵
矩阵(matrix)是一个二维数组,只有每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix()创建矩阵。一般使用格式为:
mymatrix<-matrix(vector,nrow=number_of_rows,ncol=number_of_columns,byrow=logical_value,dimname=list(char_vector_rownames,char_vector_colnames))
其中vector包含了矩阵的元素,nrow和ncol用来指定行和列的维数,dimnames指定行名与列名。byrow表明矩阵应按行(byrow=TRUE)或列(byrow=FALSE)填充,默认情况下按列填充。
1#生成一个名y的5行4列的矩阵,
2y <- matrix(1:20,nrow = 5,ncol = 4)
3y
4 [,1] [,2] [,3] [,4]
5[1,] 1 6 11 16
6[2,] 2 7 12 17
7[3,] 3 8 13 18
8[4,] 4 9 14 19
9[5,] 5 10