【发布时间】:2013-02-10 02:00:56
【问题描述】:
这是我目前得到的:
weights0 <- array(dim=c(nrow(ind),nrow(all.msim)))
weights1 <- array(dim=c(nrow(ind),nrow(all.msim)))
weights2 <- array(dim=c(nrow(ind),nrow(all.msim)))
weights3 <- array(dim=c(nrow(ind),nrow(all.msim)))
weights4 <- array(dim=c(nrow(ind),nrow(all.msim)))
weights5 <- array(dim=c(nrow(ind),nrow(all.msim)))
weights0 <- 1 # sets initial weights to 1
很好很清晰,但不是很好很短! 有经验的 R 程序员会以不同的方式编写此代码吗?
编辑:
另外,是否有一种既定的方法可以创建多个权重,这些权重取决于预先存在的变量以使其具有普遍性?例如,参数 num.cons 等于 5:我们需要的约束(以及权重)的数量。想象一下这是一个常见的编程问题,所以肯定有解决方案。
【问题讨论】:
-
明白你的意思,但我认为我的问题更笼统。也许我首先通过创建多个对象从错误的角度接近它。可以将所有权重合并到一个对象中...您建议尝试一下吗?
-
在您将值
1重新设置为权重 0 时,它不再是一个数组,只是一个长度为 1 的原子向量。 -
如果所有 (2D) 数组都具有相同的尺寸,您可以只创建一个 3D 数组。
-
@mnel 的评论是正确的。你会想要使用
weights0[] <- 1
标签: r performance