【发布时间】:2025-05-13 06:35:02
【问题描述】:
我知道已经有一些关于这方面的线索,但是通过那些我无法弄清楚问题可能是什么 - 请原谅我......
我正在尝试运行代码
for (i in 1:a){
matrix$new_column[i]<-which(matrix[i,1:b-1]==matrix$col_b[i])
}
我正在尝试的是: 对于a行和b列的矩阵,在每一行的2到b列中-1,找到与列b中的值相同的那一列(总是有这样的值)并将对应的列号写入*new_column*
我的代码一直报错
matrix$new_column[i]
但是,结果是完全正确的。我试过了
- 首先创建用 0 填充的 *new_column*
- 将结束索引从 a 更改为 a-1 或 a+1
如前所述,结果是正确的,但是我觉得如果我做的一切都正确,我不应该收到警告信息,所以我非常感谢任何关于如何解决这个问题的建议。
最后,不要问我为什么要从 2 转到 b-1 时选择 1:b-1,我只是看到当我使用 2:b-1 时,它实际上会从列开始3..
【问题讨论】:
-
这不是错误,而是警告。
-
是的,对不起,我的错。不过,如果我做得正确,它不应该发出警告吗?
-
这意味着你的新向量的长度与产生它的长度不同。因此,即使结果看起来正确,也可能有些地方不正确。