R 求累积和,然后存储在向量中
我有一个向量test=c(2,4,6,8),我需要找到循环中k的1:4的累积和,然后找到上界和下界。代码如下:R 求累积和,然后存储在向量中,r,cumulative-sum,R,Cumulative Sum,我有一个向量test=c(2,4,6,8),我需要找到循环中k的1:4的累积和,然后找到上界和下界。代码如下: for(k in 1:4){ l[k] = (cumsum(test[1:k]) - 1.96)/k u[k] = (cumsum(test[1:k]) + 1.96)/k } max_l = max(l) max_u = max(u) 我得到一个警告 在l[k]中,您可以不使用循环来执行此操作。如果我正确理解了您的意思,您正在尝试: test = c(2,4,6,8) l
for(k in 1:4){
l[k] = (cumsum(test[1:k]) - 1.96)/k
u[k] = (cumsum(test[1:k]) + 1.96)/k
}
max_l = max(l)
max_u = max(u)
我得到一个警告
在l[k]中,您可以不使用循环来执行此操作。如果我正确理解了您的意思,您正在尝试:
test = c(2,4,6,8)
l <- (cumsum(test) - 1.96)/seq_along(test)
u <- (cumsum(test) + 1.96)/seq_along(test)
l
#[1] 0.04 2.02 3.35 4.51
u
#[1] 3.96 3.98 4.65 5.49
max_l = max(l)
max_u = max(u)
max_l
#[1] 4.51
max_u
#[1] 5.49
test=c(2,4,6,8)
ll[k]
是一个单一值-test[1:k]
是k
值(1、2、3或4取决于循环的迭代次数)。你不能在一个值中存储>1个值,因此会出现警告。我如何为l[k]获取一个值?我想你可能只想在函数中使用sum
而不是cumsum
。是的,我尝试过,但在我尝试进行1000次模拟时,它只打印最后一个值。你检查了我下面的答案吗?对你有用吗?如果确实可以,请单击左侧的复选标记。每个帖子只能接受一个答案。