R绘制包含序列/列表的函数

R绘制包含序列/列表的函数,r,plot,R,Plot,我有一个简单的函数a A<-function(s){ c0=360 c1=60 c2=30 k=10 (8/60)*(c0+(sum(k*(c1+c2*(1:(s-1)))))) } 它也出现在包含for循环的其他函数中,例如for(i in 1:s)。我想他们也有类似的问题 我可以手动创建一个带有(2)…a(10)的列表,然后打印它。但肯定有办法解决,但我不知道怎么解决 谢谢 -------更新:带有for循环的函数---------------------------

我有一个简单的函数a

A<-function(s){
  c0=360
  c1=60
  c2=30
  k=10
(8/60)*(c0+(sum(k*(c1+c2*(1:(s-1))))))
}
它也出现在包含for循环的其他函数中,例如for(i in 1:s)。我想他们也有类似的问题

我可以手动创建一个带有(2)…a(10)的列表,然后打印它。但肯定有办法解决,但我不知道怎么解决

谢谢

-------更新:带有for循环的函数---------------------------

C<-function(s, SPP){
  selector<-allmeans$spp==SPP       ###allmeans is a data matrix
  meansofspp<-allmeans[selector,]
  result.list<-list()
  for (i in 1:s){
  deltap<-((meansofspp$p[i+1])-(meansofspp$p[i]))
  result.list<-append(result.list, deltap)
  }
  return(sum(unlist(result.list)))
  }

plot.function
的函数必须矢量化。试一试

plot(Vectorize(A), 2,10)
编辑:如果您的函数有许多参数,并且希望固定其他参数,请使用以下方法:

plot(Vectorize(function(s) C(s, SPP="SA")), 2,10)

但是它不适用于包含(1:s中的i)的函数,为什么?它应该可以工作。你能用循环和错误信息发布你的函数吗?我在我原来的帖子中发布了。谢谢,就这样?谢谢它工作得很好。如果我没有在stackoverlow上发布我的问题,我可能要花很长时间才能弄清楚。我花了15分钟疯狂的谷歌搜索才到达这里,这正是我想要的:简单但不容易弄清楚!谢谢
plot(Vectorize(A), 2,10)
plot(Vectorize(function(s) C(s, SPP="SA")), 2,10)