【发布时间】:2017-08-17 18:11:40
【问题描述】:
我正在尝试编写一个循环,它将遍历数据框中的列64:111,并设置[64,1] = 0,然后设置[65,1:2] = 0,然后设置[66,1:3] = 0 等(Months_out 从0 开始并递增1)。我不知道为什么我的循环只运行一次,我做错了什么?
for (i in 64:111) {
Prod1[cbind(1:Prod1$Months_Out+1,i)] <- 0
}
【问题讨论】:
-
如果您提供reproducible example 带有示例输入和所需输出,将会有所帮助。将问题缩小到更易于管理的规模可能是安全的。
-
如果您要遍历第 64 到 111 列,那么
[64,1] = 0是什么意思?这通常表示第 64 行和第 1 列中的元素。如果不正确,请更改您的符号以符合数学、统计学和大多数(如果不是所有)编程语言(包括 R)中常见的标准[r, c]。跨度> -
谢谢大家的回复,很抱歉,我混淆了行和列的顺序。您的解决方案帮我解决了 Alex P,感谢您的帮助!
-
@Jess 你知道你可以通过接受 Alex P 的回答来结束这个问题吗? (他的答案左边的复选标记)
-
我不知道,谢谢。