首页 > 解决方案 > 对包含函数的列表中的元素求和

问题描述

我正在计算ft的值k,然后将它们存储在列表中funcList。现在我想将Xt的函数存储为t中所有元素的总和funclist。这就是我所做的:

n = 100
funcList = list()

ft = function(t) {(abs(t) <= 1)*(1-(t)^2)+(abs(t) > 1)*(0)}

for (k in 1:100){
  funcList[[k]] = ft(t+k/n)*rnorm(100,0,1)
}

Xt = rowSums(sapply(funcList, ?)

但是,我完全不确定我应该Xt如何在这里表达以及如何使用函数rowSums()sapply().

标签: r

解决方案


真的不确定你想做什么。您的代码会引发错误,因为在您的 for 循环中没有为 t 定义值。您是否想做这样的事情:

n = 100
funcList = list(100)

ft = function(t) {(abs(t) <= 1)*(1-(t)^2)+(abs(t) > 1)*(0)}

for (k in 1:100){
  funcList[[k]] = function(t) {ft(t+k/n)*rnorm(100,0,1)}
}

对于固定的 t(比如 t = -1),您可以:

result <- sapply(funcList,function(ft_i)ft_i(-1))

然后调用 rowSums

result2 <- rowSums(result)

但老实说,这听起来像是接力复杂的事情......


推荐阅读