对包含函数的列表中的元素求和

时间:2018-10-11 08:00:41

标签: r

我正在计算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()

1 个答案:

答案 0 :(得分:0)

真的不确定您要做什么。 您的代码将引发错误,因为在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)

但老实说,这听起来像是一件复杂的事情。...