gpt4 book ai didi

r - 在 R 中选择子矩阵

转载 作者:行者123 更新时间:2023-12-04 22:31:47 28 4
gpt4 key购买 nike

我有一个名为 m 的矩阵如下

> m<-matrix(1:15,3,5)
> m
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 7 10 13
[2,] 2 5 8 11 14
[3,] 3 6 9 12 15

我想删除这个矩阵的第一列。在一个函数中,我传递了一个名为 j 的值,它总是比 m 中的列数少 1(在这个例子中 j 是 4)。
因此我使用了以下代码
 >m[,2:4+1]
[,1] [,2] [,3]
[1,] 7 10 13
[2,] 8 11 14
[3,] 9 12 15

但它只给出最后 3 列。然后我把代码改成如下
 >m[,2:(4+1)]

这次我有正确的输出。
它也为以下代码提供相同的输出
> m[,1:4+1]

有人请解释一下以下代码是如何工作的吗?
>m[,2:4+1]
>m[,1:4+1]

最佳答案

: 的优先级高于 + ,因此 2:4+1(2:4)+1 处被解释,与 3:5 相同:

2:4+1
[1] 3 4 5

类似地, 1:4+1 被解释为 2:5 :
1:4+1
[1] 2 3 4 5

要删除矩阵中的列,使用 [ 的负下标输入可能更容易:
m[,-1]
[,1] [,2] [,3] [,4]
[1,] 4 7 10 13
[2,] 5 8 11 14
[3,] 6 9 12 15

关于r - 在 R 中选择子矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19583359/

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