1

我有许多以下形式的向量:

vector1 <- c(42.000, 40.781, 40.625, 40.312, 40.375, 40.344, 39.531, 39.875, 40.344, 39.500, 39.125, 39.062, 39.656)

vector2 <- c(24.625, 25.625, 24.844, 25.250, 26.250, 26.344, 26.250, 26.375, 26.250, 25.812, 27.000, 26.469, 26.781)

我想把它们放在一个共同的基础上,从 100 开始作为第一个值,并且对于每个新值,取第一个值和新值之间的差异。

我使用了以下代码:

i=13 

for (1 in 1:13) {

vector1[i]=(vector1[i]-vector1[i-1])

我究竟做错了什么?

4

1 回答 1

4

目前尚不清楚,您想要实现什么。“从 100 作为第一个值开始”是什么意思?

这给出了所有元素与第一个元素的差异:

vector1 <- c(42.000, 40.781, 40.625, 40.312)
vector1-vector1[1]
#[1]  0.000 -1.219 -1.375 -1.688

这给出了第一个元素除以第一个元素的差异:

(vector1-vector1[1])/vector1[1]
#[1]  0.00000000 -0.02902381 -0.03273810 -0.04019048

这给出了后续元素之间的差异:

diff(vector1)
#[1] -1.219 -0.156 -0.313
于 2012-11-08T12:23:39.777 回答