我是R的新手,希望有人可以帮助我。我想弄清楚如何绘制一个非常简单的图(使用plot()
):
y轴应为ay <- c(-1,1)
,x轴应为ax <- c(0:6)
。我有一个向量v1<-c(0,-0.1,-0.3,-0.6,-0.2,-0.4, 0.2)
,它为x轴上的每个段提供斜率(即在0和1之间,斜率为-0.1,从1移动到2,斜率为-0.3,依此类推)。
我只需要在x轴上绘制一条从0到6的线,并在v2给出的线段之间有斜率。
此外,应该有一条单独的直线,斜率-0.5从0开始,即同一图中的abline(0,-0.5)
。
这应该是非常简单的事情,但我无法做到这一点。提前谢谢!
答案 0 :(得分:2)
这个怎么样?
x <- 0:6
v1 <- c(0,-0.1,-0.3,-0.6,-0.2,-0.4, 0.2)
请注意,斜率由y
- 值与x
- 值之差的差值给出。由于x
中的每个连续条目的v1
- 值的差异始终为1,因此它基本上包含y
- 值的差异。将v1
中的第一个条目设为y(x=0)
(请参阅下面的注释),cumsum(v1)
为您提供y
- 您需要提供给plot
的值。< / p>
y <- cumsum(v1)
plot(x, y, type="l")
注意在v1
中有七个斜率值,但从0到6只有六个差异。如果算一算,那就是0-1,1-2,2-3 ,3-4,4-5和5-6,它们给出了六个不同之处。如果第一个条目应该是斜率,则需要重新考虑x
的范围。
答案 1 :(得分:1)