美文网首页
R语言实战(第2版):第二章 创建数据集(01)

R语言实战(第2版):第二章 创建数据集(01)

作者: 小杜的生信筆記 | 来源:发表于2019-11-29 15:14 被阅读0次

R语言实战(第2版):第二章 创建数据集

时间:2019年11月29日


2.1 数据集的概念

数据集通常是有数据构成的一个矩阵数组,行表示观测,列表示变量。表2-1提供了一个假想的病例数据集。



不同行业对数据集的行和列叫法不同。统计学家称他们为观测(observation)和变量(variable),数据库分析师则称其为记录(record)和字段(field),数据挖掘是和机器学习学科的研究者则把他们叫做示例(example)和属性(attribute)。在本书中通篇使用术语观测和变量。

2、数据结构

R拥有许多用于存储数据的对象类型,包括标量、向量、矩阵、数组、数据框和列表。它们在存储数据的类型、创建方式、结构复杂度,以及用于定位和访问其中个别元素的标记等方面均有所不同。图2-1给出了这些数据结构的一个示意图。




3、 向量

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

a <- c(1, 2, 5, 3, 6, -2, 4)
b <- c("one","two","three")
c <- c(TRUE,TRUE,FALSE,TRUE,FALSE)

a是数值型向量,b是字符型向量,而c是逻辑型向量.

通过在方括号中给定元素所处位置的数值,我们可以访问向量中的元素。例如,a[c(2, 4)]用于访问向量a中的第二个和第四个元素。

> a <- c("k", "j", "h", "a", "c", "m") 
> a[3] 
[1] "h" 
> a[c(1, 3, 5)] 
[1] "k" "h" "c" 
> a[2:6] 
[1]  "j" "h" "a" "c" "m" 

4、矩阵

矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix()创建矩阵。

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

其中vector包含了矩阵的元素,nrowncol用以指定行和列的维数,dimnames包含了可选的、以字符型向量表示的行名和列名。

4.1 创建矩阵

创建5x4的矩阵

y <- matrix(1:20,nrow = 5, ncol = 4)
y
[,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

按行填充2x2的矩阵

cells <- c(1,26,24,68) 
rnames <- c("R1","R2")
cnames <- c("C1","C2")
mymatrix <- matrix(cells, nrow = 2, ncol = 2, byrow = TRUE,
                   dimnames = list(rnames,cnames))
mymatrix
 C1 C2
R1  1 26
R2 24 68

按列填充的2×2矩阵

mymatrix <- matrix(cells, nrow = 2, ncol = 2, byrow = FALSE,  ## TRUE 改为FALSE
                   dimnames = list(rnames, cnames))
mymatrix
 C1 C2
R1  1 24
R2 26 68

我们可以使用下标方括号来选择矩阵中的元素X[i,]指矩阵X中的第i行,X[,j]指第j列,X[i, j]指第i行第j 个元素。选择多行或多列时,下标i和j可为数值型向量.

**代码清单2-2 矩阵下标的使用 **

x <- matrix(1:10, nrow = 2)
x
 [,1] [,2] [,3] [,4] [,5]
[1,]    1    3    5    7    9
[2,]    2    4    6    8   10

x[2,]
[1]  2  4  6  8 10

x[,2]
[1] 3 4

首先,我们创建了一个内容为数字1到10的2×5矩阵。默认情况下,矩阵按列填充。然后,我们分别选择了第二行和第二列的元素。接着,又选择了第一行第四列的元素。最后选择了位于第一行第四、第五列的元素。

'由于本章节内容较多,将进行拆分'

相关文章

网友评论

      本文标题:R语言实战(第2版):第二章 创建数据集(01)

      本文链接:https://www.haomeiwen.com/subject/jycgwctx.html