a <- function(x){
a = 2*x*x
return(a)
}
b (x) <- a(1) + a(2) + ... + a(x)
有函数a,我想写一个函数b,这是函数的积累a。 我把它写在R。
答案 0 :(得分:3)
也许是这样的:
a <- function(x)
{2*x*x}
b<- function(y)
{sum(sapply(seq(y),a))}
所以
b(3) = 28
自
b(3) = a(1) + a(2) + a(3)
= 2*1*1 + 2*2*2 + 2*3*3
= 2 + 8 + 18
= 28
答案 1 :(得分:1)
函数b
创建一个表达式并计算该表达式以返回结果。
a <- function(x){
return(2*x*x)
}
b <- function(x){
eval( parse( text = paste0( strsplit( paste0( "a(", x, ")"), " "), collapse = "+") ))
}
b(1:2)
# [1] 10
b(1:3)
# [1] 28
b(1:5)
# [1] 110
b(c(2,4,6))
# [1] 112