随笔分类 -  R

上一页 1 ··· 5 6 7 8 9 10 下一页
摘要:在列表中赋值和给向量赋值一样直观:l1 <- list(x = 1, y = c(TRUE, FALSE), z = c("a", "b", "c"))l1$x <- 0如果给一个不存在的成分赋值,列表会自动地在对应名称或位置下增加一个新成分:l1$m <- 4l1## $x## [1] 0#### 阅读全文
posted @ 2019-01-22 10:24 NAVYSUMMER 阅读(224) 评论(0) 推荐(0)
摘要:许多场合下,我们需要从列表中提取多个元素。由这些元素组成的列表构成了原列表的一个子集。构建一个列表子集,我们可以用单层方括号,就像提取向量和矩阵中元素一样。我们可以取出列表中的一些元素,然后放到一个新的列表中。这里方括号的用法与其在向量中的用法非常相似。我们可以用字符向量表示成分名称,用数值向量表示 阅读全文
posted @ 2019-01-22 10:23 NAVYSUMMER 阅读(170) 评论(0) 推荐(0)
摘要:无论在列表创建之初是否有为各列表成分命名,我们总能通过一个用于命名的向量,为这些列表成分命名或重命名。names(l1) <- c("A", "B", "C")l1## $A## [1] 1#### $B## [1] TRUE FALSE#### $C## [1] "a" "b" "c"若想移除它们 阅读全文
posted @ 2019-01-22 10:23 NAVYSUMMER 阅读(152) 评论(0) 推荐(0)
摘要:有许多方法可以提取列表中的元素。最常用的方法是使用美元符号$,通过成分的名称来提取列表元素的值。l1 <- list(x = 1, y = c(TRUE, FALSE), z = c("a", "b", "c"), m = NULL)l1$x## [1] 1l1$y## [1] TRUE FALSE 阅读全文
posted @ 2019-01-22 10:22 NAVYSUMMER 阅读(2343) 评论(0) 推荐(0)
摘要:顾名思义,我们可以用 list( )创建一个列表。不同类型的对象可以被装进同一个列表中。例如,以下代码创建了一个列表,包含 3 个成分① :一个单元素的数值向量、一个两元素的逻辑向量和一个长度为 3 的字符向量:l0 <- list(1, c(TRUE, FALSE), c("a", "b", "c 阅读全文
posted @ 2019-01-22 10:21 NAVYSUMMER 阅读(576) 评论(0) 推荐(0)
摘要:数组是矩阵向更高维度的自然推广。具体来说,数组就是一个维度更高(通常情况下大于 2)、可访问的向量。如果你对向量和矩阵已经很熟悉,就不会对数组的操作方式感到诧异了。 创建一个数组 构建数组子集 阅读全文
posted @ 2019-01-22 10:19 NAVYSUMMER 阅读(101) 评论(0) 推荐(0)
摘要:从数组中提取子集的原理与矩阵完全相同。我们通过给每个维度提供一个向量来提取数组子集。a1[1,,]## k1 k2## c1 0 5## c2 1 6## c3 2 7## c4 3 8## c5 4 9a1[, 2,]## k1 k2## 1 6a1[,,1]## c1 c2 c3 c4 c5## 阅读全文
posted @ 2019-01-22 10:10 NAVYSUMMER 阅读(129) 评论(0) 推荐(0)
摘要:我们可以提供一个向量,然后调用 array( )函数来创建一个数组,指定数组的不同维度,有时也可以给出不同维度的行名和列名。假设数据是 0~9 这 10 个整数,需要将其分配到 3 个维度中,其中第 1 维长度为 1,第 2 维长度为 5,第 3 维长度为 2:a1 <- array(c(0, 1, 阅读全文
posted @ 2019-01-22 10:08 NAVYSUMMER 阅读(318) 评论(0) 推荐(0)
摘要:矩阵是一个用两个维度表示和访问的向量。因此,适用于向量的性质和方法大多也适用于矩阵。例如,每一种向量(例如数值向量或逻辑向量)都有对应的矩阵形式,即数值矩阵(numeric matrice)、逻辑矩阵(logical matrice)等。 创建一个矩阵 为行和列命名 构建矩阵子集 矩阵运算符的使用 阅读全文
posted @ 2019-01-22 10:07 NAVYSUMMER 阅读(223) 评论(0) 推荐(0)
摘要:所有适用于向量的算术运算符也适用于矩阵,就如同它们也是向量一样。这些运算符在元素上进行运算,除了一些矩阵专用的运算符,例如矩阵乘法%*%:m1 + m1## c1 c2 c3## r1 2 8 14## r2 4 10 16## r3 6 12 18m1 - 2 * m1## c1 c2 c3## 阅读全文
posted @ 2019-01-22 10:05 NAVYSUMMER 阅读(393) 评论(0) 推荐(0)
摘要:和处理向量一样,我们不仅需要创建矩阵,也需要从中抽取数据,这称为构建矩阵子集(matrix subsetting)。矩阵是用两个维度表示和访问的向量,可以用一个二维存取器(accessor)[ , ]来访问,这类似于构建向量子集时用的一维存取器[ ]。我们可以为每个维度提供一个向量来确定一个矩阵的子 阅读全文
posted @ 2019-01-22 10:03 NAVYSUMMER 阅读(309) 评论(0) 推荐(0)
摘要:在默认情况下,创建矩阵时不会自动分配行名和列名。当不同的行列有不同的含义时,为其命名就显得必要且直观。在创建矩阵时就可以为行和列命名:matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3, byrow = TRUE, dimnames= list(c("r1", 阅读全文
posted @ 2019-01-22 10:02 NAVYSUMMER 阅读(303) 评论(0) 推荐(0)
摘要:我们可以调用 matrix( )函数将一个向量变成矩阵,方法是设定矩阵的其中一个维度。matrix(c(1, 2, 3, 2, 3, 4, 3, 4, 5), ncol = 3)## [,1] [,2] [,3]## [1,] 1 2 3## [2,] 2 3 4## [3,] 3 4 5设定 nc 阅读全文
posted @ 2019-01-22 10:01 NAVYSUMMER 阅读(662) 评论(0) 推荐(0)
摘要:一个向量是由一组相同类型的原始值构成的序列。它可以是一组数字、一组逻辑值、一组文本或者是其他类型的值。它是所有 R 对象的基础数据结构之一。在 R 中,有多种类型的向量,区别在于它们存储的元素类型互不相同。在接下来的小节中,我们将会看到最常使用的向量类型,包括数值向量、逻辑向量和字符向量。 数值向量 阅读全文
posted @ 2019-01-22 10:00 NAVYSUMMER 阅读(205) 评论(0) 推荐(0)
摘要:数值向量的算术运算很简单,主要遵循两个原则:对相应位置的元素进行计算,并自动循环利用较短的向量(循环补齐功能)。下面的例子展示了运算符对数值向量的作用方式:c(1, 2, 3, 4) + 2## [1] 3 4 5 6c(1, 2, 3) -c(2, 3, 4)## [1] -1 -1 -1c(1, 阅读全文
posted @ 2019-01-22 09:59 NAVYSUMMER 阅读(345) 评论(0) 推荐(0)
摘要:不同类型的向量可以被强制转换为一种特定类型的向量。例如,有些数据是数值字符串,如 1 和 20。如果不进行转换处理,就无法对其进行数值运算。幸运的是,这两个字符串可以转换为数值向量。转换后,R 就能够将它们识别为数值数据而不是字符串,这样我们就能对其进行数值运算了。在演示典型的向量类型转换之前,先创 阅读全文
posted @ 2019-01-22 09:57 NAVYSUMMER 阅读(665) 评论(0) 推荐(0)
摘要:有时我们需要在处理向量之前辨别向量的类型。class( )函数用于判断任意 R 对象的类型:class(c(1, 2, 3))## [1] "numeric"class(c(TRUE, TRUE, FALSE))## [1] "logical"class(c("Hello", "World"))## 阅读全文
posted @ 2019-01-22 09:56 NAVYSUMMER 阅读(163) 评论(0) 推荐(0)
摘要:[ ]能够创建一个向量子集,[[ ]]可以提取向量中的元素。我们可以将一个向量比作 10盒糖果,你可以使用[ ]获取其中的 3 盒糖果,使用[[ ]]打开盒子并从中取出一颗糖果。对于简单的向量,使用[ ]和[[ ]]取出一个元素会产生相同的结果。但在某些情况下,它们会返回不同的结果。例如,对于命名向 阅读全文
posted @ 2019-01-22 09:54 NAVYSUMMER 阅读(481) 评论(0) 推荐(0)
摘要:命名向量是一种不同于数值向量或逻辑向量的特定向量类型。它指的是该向量中的每一个元素都有相应的名称。我们可以在创建向量的同时对其命名:x <- c(a = 1, b = 2, c = 3)x## a b c## 1 2 3这样就可以通过单值字符向量来访问其中的元素:x["a"]## a## 1也可以通 阅读全文
posted @ 2019-01-22 09:53 NAVYSUMMER 阅读(349) 评论(0) 推荐(0)
摘要:如果想访问一些特定元素或者向量的一个子集,使用向量子集是一个不错的方法。在这一节中,我们将展示几种不同的构建向量子集的方法。首先,生成一个简单的数值向量并且赋值给 v1:v1 <- c(1, 2, 3, 4)接下来的每一行都是用来获取 v1 的特定子集。例如,提取第 2 个元素:v1[2]## [1 阅读全文
posted @ 2019-01-22 09:51 NAVYSUMMER 阅读(166) 评论(0) 推荐(0)

上一页 1 ··· 5 6 7 8 9 10 下一页
交流群 编程书籍