R数据输入的几种主要类型

数据输入、存储和操控处理是R统计最基本也是最重要的内容。R拥有多种存储数据的对象类型,包括向量、矩阵、数组、数据框和列表等。这些类型的复杂程度逐渐增加,但也有很多相通的地方。

向量

向量是用于存储数值型、字符型或者逻辑型数据的一维数组。可以用函数c()来创建向量。

a <- c(2, 5, 7, 9)
b <- c("human", "dog", "frog")
c <- c(T, F, T, F, F)

通过方括号[]给定元素的位置,我们可以方便的访问向量里的元素。例如:

a[2]
## [1] 5
b[2:3]
## [1] "dog"  "frog"
c[c(1,2)]
## [1]  TRUE FALSE

矩阵

矩阵是一个二维数组,同时每个元素拥有相同的模式类型。矩阵可以通过matrix()创建。一般格式为:

matrix(vector, nrow=number_of_rows, ncol=number_of_columns, byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))

简单的例子如:

matrix(1:20, nrow=5, ncol=4)
##      [,1] [,2] [,3] [,4]
## [1,]    1    6   11   16
## [2,]    2    7   12   17
## [3,]    3    8   13   18
## [4,]    4    9   14   19
## [5,]    5   10   15   20

矩阵的元素访问形式同样采用方括号标记位置的形式。

数组

数组(array)与矩阵类似,但维度可以大于2.数组的创建形式如下:

array(vector, dimensions, dimnames)

其中dimensions是一个数值型向量,指定各个维度下标的最大值,dimnames可选项,指定各维度名称标签。

数据框

数据框类似矩阵,但是不同列可以包含不同的模式类型(数值、字符或者逻辑),因而相比矩阵更加一般化,应用也更加的广泛。数据框可用data.frame()创建。简单的例子如下:

order <- c(1, 2, 3, 4)
age <- c(22, 34, 44, 12)
sex <- c("male", "female", "male", "male")
mydata <- data.frame(order, age, sex)
mydata
##   order age    sex
## 1     1  22   male
## 2     2  34 female
## 3     3  44   male
## 4     4  12   male

数据框的元素访问类似,同时还可以用逻辑向量指定数据库的亚集访问。例如:

omi <- c(T, T, F)
mydata[,omi]
##   order age
## 1     1  22
## 2     2  34
## 3     3  44
## 4     4  12

如果单独提取数据框中的变量也可以用$标记。例如:

mydata$sex
## [1] male   female male   male  
## Levels: female male

因子

变量可以归结为名义型、有序型或连续型变量。名义型变量没有顺序之分,有序型具有一定的顺序关系,而非数量关系。R中,名义型(类别)变量和有序变量称为因子,用函数factor()表示。参数levels可以人为的指定排序方式。

列表

列表(list)是最复杂的数据类型,可以看成是前面所有类型的有序集合。创建方法如下:

list(object1, object2, ...)

其中的对象可以是任何结构。


除非特别声明,文章均为牛会飞的博客原创,遵循署名-非商业使用-相同方式共享授权协议
转载请注明出处: https://blogfei.com/data-input-of-r-statistics/

暂无评论