首页 > 解决方案 > 在 R 中创建求和公式

问题描述

我是 R 的初学者,我遇到了以下代码问题:

在此处输入图像描述

在此处输入图像描述

是我试图重新创建到 R 中的总和。现在这是我的第一个总和的代码(代码片段):

z <- 1:J
L<-1000
D<-0
for(k in z){
  for(j in D:D+L-1){
    X[k] = 1/L*sum(X[j])
  }
}

我不知道如何在问题中创建乳胶公式,所以如果你运行代码片段,你会看到我试图在 R 中重新创建的公式。我的问题是,我走对了吗?我不确定如何使用 for 循环来创建求和。

标签: r

解决方案


J <- 5
L <- 100
D <- 1  # in R we start to count at 1 (one).  (thanks to Darren)

x <- matrix(1:(L*J), nrow = length(D:(D+L-1)), ncol = J)

funXj_ <- function(j, D, L) sum(x[D:(D+L-1), j], na.rm = T)

X_ <- sapply(1:J, funXj_, D = D, L = L)
#5050 15050 25050 35050 45050

我相信你x_j^t是某种二维数组。(所以我以矩阵为例)


我们当然可以自由地改变我们的边界:

J as 4, D as 2,L as 80

sapply(1:4, funXj_, D = 2, L = 80)

推荐阅读