1

我正在尝试使用 stepfun 绘制阶跃函数。这要求给出 x 值之间函数值高度的向量比 x 长 1。但是,由于这个要求,我无法绘制与数据中最后一个类别对应的值。

高度由下式给出:

beta_dec=c(.0453196,-.0254566,-.0156608,-.0015202,-.0026819)

x 值由

temp=seq(8,20,by=3)

当我运行以下语句时出现错误

graph<-stepfun(temp,beta_dec,f=0)

“stepfun 中的错误(temp,beta_dec,f = 0):'y' 必须比 'x' 长一”

如果我在 17 处终止序列,它运行良好但没有绘制对应于 20 的值?

4

2 回答 2

4

stepfun需要 y 比 x 长一的原因是因为如果你有 x 个结,那么你需要 x+1 个值来完全定义函数。因此,如果您的结位于 1、2、3,那么您需要在 1 之前、1 和 2 之间、2 和 3 之间以及 3 之后具有值,它们加起来是 4 个值。基本上,你需要弄清楚你的函数在 8 之前的值是多少。例如,您可以这样做:

# Notice I added a value in front of beta_dec. You should add the real value.
beta_dec=c(.0453196,.0453196,-.0254566,-.0156608,-.0015202,-.0026819) 
temp=seq(8,20,by=3)
graph<-stepfun(temp,beta_dec,f=0)
plot(graph)
于 2012-05-01T16:31:02.933 回答
4

这样就够了吗?

plot(beta_dec ~ temp, type = "s")

type = "s"定义在并且?plot.default表示楼梯或台阶。上面的调用给出:

类型 =

于 2012-05-01T16:26:23.630 回答