Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多边形函数的求和R中的循环_R_Loops - Fatal编程技术网

多边形函数的求和R中的循环

多边形函数的求和R中的循环,r,loops,R,Loops,我正在研究R中的一个循环: dypol和wnc是1×3矩阵,x是1×100矩阵。 我希望循环返回一个3乘100的矩阵(每个列的累积)。我有这个: For (i in 1:100) { i=dypol*t(x^2)-dypol+wnc {yi = cumsum(i) } } 但是它只返回第一行。试试这个。我已将循环转换为sapply调用(有效地循环x),然后在生成矩阵的列上应用cumsum: x <- 1:100 wnc <- c(0.123, 0.263, 0.223)

我正在研究R中的一个循环:

dypol
wnc
是1×3矩阵,
x
是1×100矩阵。 我希望循环返回一个3乘100的矩阵(每个列的累积)。我有这个:

For (i in 1:100) {
i=dypol*t(x^2)-dypol+wnc
{yi = cumsum(i) }
}

但是它只返回第一行。

试试这个。我已将循环转换为
sapply
调用(有效地循环
x
),然后在生成矩阵的列上应用
cumsum

x     <- 1:100
wnc   <- c(0.123, 0.263, 0.223)
dypol <- c(.05, .30, .02)

Z <- t(sapply(x, function(x)dypol * x ^ 2 - dypol + wnc))
apply(Z, 2, cumsum)

x如果
dypol
是1乘3,并且
x
是1乘100,那么您不能使用
dypol*t(x^2)
@Adam-很高兴看到您提供了您所拥有的代码。首先,当你通过循环时,你似乎覆盖了循环计数器i。如果你能提供问题中的数据和代码,人们会更容易帮助你。但即使在那之前,还不清楚(至少对我来说)你希望你的计算是如何工作的,所以你可能值得尝试一个更清晰的解释。关于提问的指导,请参阅本文:好的,谢谢你的提示。我的数据看起来像这样x=(0:100)wnc=(0.123 0.263 0.223)dypol=(.05.30.02)循环的结果应该是这样的(只是一个例子)x A B C 1 01232 02633 02230 2 01233 02634 02231 5 01244 02640 02237..100所以,对于A=0.05*t(1^2)-0.05+.123]+[0.05*t(2^2)-0.05+.123]好的问题往往伴随着一个小的可重复的例子。例如,您可以使用一个
x
长度
4
的示例,并准确显示了预期的输出应该是什么。谢谢。我将深入讨论sapply。