R中作为函数的多项式

R中作为函数的多项式,r,function,loops,polynomials,R,Function,Loops,Polynomials,如果问题很愚蠢/在其他地方得到了回答,请提前道歉。。。我找不到任何好的解决办法 基于幂级数的思想,我有 A) 一个长度为n的实数系数向量,它来自另一个循环,可以相当长,但假设它很简单,例如 a<-1:10 作为一种功能。不幸的是 1) 函数as.polymonal(a)只允许中心0(据我所知),因此我无法使用它和 2) 系数列表可能很长,太长,无法手动完成 3) 我以后可能需要一个多变量的版本 我更喜欢使用循环来定义这个“有限幂级数”,但我不知道如何以干净的方式实现循环和函数和(我也没有

如果问题很愚蠢/在其他地方得到了回答,请提前道歉。。。我找不到任何好的解决办法

基于幂级数的思想,我有

A) 一个长度为n的实数系数向量,它来自另一个循环,可以相当长,但假设它很简单,例如

a<-1:10
作为一种功能。不幸的是

1) 函数
as.polymonal(a)
只允许中心0(据我所知),因此我无法使用它和

2) 系数列表可能很长,太长,无法手动完成

3) 我以后可能需要一个多变量的版本

我更喜欢使用循环来定义这个“有限幂级数”,但我不知道如何以干净的方式实现循环和函数和(我也没有发现)

有点像(非常幼稚)

t我认为这是可行的

my_polynomial = function(x) {
  sum(sapply(seq_along(a), function(ii) a[ii] * (x - c) ^ (ii - 1L)))
}

仅供将来参考。要使用软件包polynom更改中心,请使用
change.origin

例如:

change.origin(as.polynomial(a),3)

非常感谢你的投入。不幸的是(很抱歉之前没有提到这一点),我也想绘制这个函数(使用ggplot)-即使这个函数的定义看起来很好,ggplot也会给我带来错误(使用
stat\u函数
)-有什么想法吗?如果用
cumsum
替换
sum
,它很可能会起作用。调用
stat\u函数时,请小心指定
n
与数据帧中的点数相同。
my_polynomial = function(x) {
  sum(sapply(seq_along(a), function(ii) a[ii] * (x - c) ^ (ii - 1L)))
}
change.origin(as.polynomial(a),3)