Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.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_Sum_Wolfram Mathematica_Sapply - Fatal编程技术网

R:依赖于三个指标的函数的三重求和

R:依赖于三个指标的函数的三重求和,r,sum,wolfram-mathematica,sapply,R,Sum,Wolfram Mathematica,Sapply,我试图用R来表示一个三重求和函数的三个指数 在Mathematica中,我可以通过以下代码轻松完成此操作: out = Sum[B[G[[k]]] * A[G[[k]], G[[j]], G[[i]]] * prod[G[[j]],G[[i]]], {k,1,Length[G]},{j,1,Length[G]},{i,1,Length[G]}] 其中,G是一个矩阵,B[.]、a[.]和prod[.]都是预定义的函数 在Mathematica中,Sum[f,{k,k_min,

我试图用R来表示一个三重求和函数的三个指数

在Mathematica中,我可以通过以下代码轻松完成此操作:

out = Sum[B[G[[k]]] * A[G[[k]], G[[j]], G[[i]]] * prod[G[[j]],G[[i]]],
          {k,1,Length[G]},{j,1,Length[G]},{i,1,Length[G]}]
其中,
G
是一个矩阵,
B[.]
a[.]
prod[.]
都是预定义的函数

在Mathematica中,
Sum[f,{k,k_min,k_max},{j,j_min,j_max},{i,i_min,i_max}]
将计算三重和,和(k=k_min,k_max)[Sum(j=j_min,j_max)[Sum(i=i_min,i_max)[f]],其中
f
是一些函数

我现在正试图在R做这件事,我有很多困难。我试着用下面的方式将
sapply
应用于
sum
,但似乎也不起作用

guts.i.j.k <- function(i,j,k) B.k(k) * A.i.j.k(i, j, k) * prod.i.j(i, j)
innermostSum <- function(j,k) sum(sapply(1:length(G), FUN=guts.i.j.k, j=j, k=k ))
middleSum <- function(k) sum(sapply(1:length(G), FUN=innermostSum, k=k ))
outsideSum <- sum(sapply(1:length(G), FUN=middleSum))
return(outsideSum) 

guts.i.j.k在M中使用大写单变量不是个好主意。同样,在M中使用带有
\uuu
的变量也不是个好主意。您的代码是否如图所示
Sum[f,{k,k_min,k_max},{j,j_min,j_max},{i,i_min,i_max}]
No,k_min等。实际上不在我的代码中。我试图解释Sum[.]函数在R用户不熟悉Mathematica时的作用。k_min用下标min表示k。