我正在尝试在R中创建一个函数,所以我命令,
f <- function(d,r,k) {
A <- d^(r-1)
B <- **summation over i going from r to (k-1)**d^2i
return (A+B)
}
如果没有帮助,我无法在上面的命令中执行。部分。那么有一个求和命令,我可以在其中分配任意参数索引吗?
答案 0 :(得分:1)
如果我理解正确(并且d,r和k是每个标量),你想要的是:
f = function(d,r,k) {
A = d^(r-1)
B = sum(d^(2*(r:(k-1))))
(A+B)
}
本质:
r:(k-1)
扩展为r
到k-1
的整数列表,因此d^(2*(r:(k-1))
是d^2i
的列表。在列表中调用sum()
,即可获得元素的总和。
这可以全部压缩成:
f = function(d,r,k) {
d^(r-1) + sum(d^(2*(r:(k-1))))
}