提问人: 提问时间:2/17/2022 最后编辑:Zoe is on strike 更新时间:2/24/2022 访问量:271
从原始矩阵中选择奇数行和列 [复制]
Choose odd rows and columns from an original matrix [duplicate]
问:
我正在尝试从矩阵的奇数行和列中获取元素。矩阵为:
a = rbind(c(NA,2,-1,-2), c(0,1,3,0), c(0,NA,0,-1),c(3,1,5,NA))
我正在尝试获得:
[,1] [,2]
[1,] NA -1
[2,] 0 0
如何创建一个只有这些元素的新矩阵 C?
答:
3赞
Maël
2/17/2022
#1
您可以使用模运算符来获取奇数行和列。%%
seq(nrow(a)) %% 2 == 1
# [1] TRUE FALSE TRUE FALSE
a[seq(nrow(a)) %% 2 == 1, seq(ncol(a)) %% 2 == 1]
# [,1] [,2]
# [1,] NA -1
# [2,] 0 0
3赞
AndS.
2/17/2022
#2
我认为最简单的方法就是为行和列回收逻辑向量。
a[c(T,F), c(T,F)]
#> [,1] [,2]
#> [1,] NA -1
#> [2,] 0 0
评论