gpt4 book ai didi

r - 如何选择除某些行和列之外的整个矩阵?

转载 作者:行者123 更新时间:2023-12-03 14:06:14 25 4
gpt4 key购买 nike

我有一个 5x4 矩阵,我想选择除第 2 到 4 行和第 2 到 3 列中的元素之外的所有元素(设置为 0)。基本上,沿矩阵“边缘”的所有元素都应设置为 0 . 目前,我的代码是

mat[ -(2:4), -(2:3) ] <- 0
但是,这(取消)以 OR 方式选择元素,因此,只有矩阵的角设置为 0。如何以 AND 方式选择它们?

最佳答案

使用函数 rowcol连同逻辑运算。以下工作是因为 R 的矩阵按列优先顺序排列。

mat <- matrix(seq.int(5*4), nrow = 5)
mat[ !(row(mat) %in% 2:4) | !(col(mat) %in% 2:3) ] <- 0
mat
# [,1] [,2] [,3] [,4]
#[1,] 0 0 0 0
#[2,] 0 7 12 0
#[3,] 0 8 13 0
#[4,] 0 9 14 0
#[5,] 0 0 0 0

关于r - 如何选择除某些行和列之外的整个矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65690377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com