# Filtering ------------------------------------ A <- matrix(1:20,4,5); A A[,A[2,]>7] A[2,] > 7 A[A[,3]>=10 & A[,3]<=11,1:2] A[,3]>=10 & A[,3]<=11 x <- c(5,4,7,12) A[x %% 2 == 1,] l <- which(x %% 2 == 1) A[l,]
时间: 2023-09-24 07:03:51 浏览: 55
这段代码继续介绍了 R 语言中的矩阵过滤操作。
在代码中,首先定义了一个 4 行 5 列的矩阵 A,其中元素的值为 1 到 20。
使用 A 可以输出整个矩阵 A。
使用 A[,A[2,]>7] 可以获取矩阵 A 中第 2 行元素大于 7 的所有列,返回结果为一个 4 行 2 列的矩阵,其中第 1 列的元素为 6、10、14、18,第 2 列的元素为 7、11、15、19。
使用 A[2,] > 7 可以获取矩阵 A 中第 2 行元素是否大于 7 的逻辑向量,返回结果为一个长度为 5 的逻辑向量,其中第 1 个元素为 FALSE,第 2 到第 5 个元素为 TRUE。
使用 A[A[,3]>=10 & A[,3]<=11,1:2] 可以获取矩阵 A 中第 3 列元素在 10 到 11 之间的所有行的第 1 列和第 2 列元素,返回结果为一个 2 行 2 列的矩阵,其中第 1 行的元素为 5 和 6,第 2 行的元素为 9 和 10。
使用 A[,3]>=10 & A[,3]<=11 可以获取矩阵 A 中第 3 列元素在 10 到 11 之间的逻辑向量,返回结果为一个长度为 4 的逻辑向量,其中第 1 到第 3 个元素为 TRUE,第 4 个元素为 FALSE。
定义向量 x,其中元素的值为 5、4、7、12。
使用 A[x %% 2 == 1,] 可以获取矩阵 A 中第 x 中元素为奇数的所有行,返回结果为一个 2 行 5 列的矩阵,其中第 1 行的元素为 1、5、9、13、17,第 2 行的元素为 3、7、11、15、19。
使用 which(x %% 2 == 1) 可以获取向量 x 中元素为奇数的下标,返回结果为一个长度为 2 的整数向量,其中第 1 个元素为 1,第 2 个元素为 3。
使用 A[l,] 可以获取矩阵 A 中下标为 l 的所有行,返回结果为一个 2 行 5 列的矩阵,其中第 1 行的元素为 1、5、9、13、17,第 2 行的元素为 7、11、15、19、NA。
阅读全文