使用循环查找同一列中两行之间的差异

时间:2014-02-07 16:50:09

标签: r for-loop operators

所以我在第4列中有252行数据,我想找到整个列中两个连续行之间的差异

我目前的代码是:

appleClose<-NULL
for (i in 1:Apple[1]){
  appleClose[i] <- AA[i,4]
}
appleClose[] 

我尝试了,但失败了:

appleClose<-NULL
for (i in 1:Apple[1]){
  appleClose[i] <- AA[i,4] - AA[i+1,4]
}
appleClose[]

编辑: 我想回顾一下优化股市投资组合。 AA是Apple的股票代码。我通过之前在程序中编写的一些 R 代码下载了该信息。 我还没有检查出diff功能。我现在会这样做。

我收到的错误是

  

[.xts(AA,i + 1,4)中的错误:下标越界

2 个答案:

答案 0 :(得分:2)

这是你的意思吗?

> Apple=runif(5,1,10)

#5 numbers
> Apple
[1] 3.362267 2.489085 3.899513 5.591127 9.315716

#4 differences
> diff(Apple)
[1] -0.8731816  1.4104271  1.6916143  3.7245894

或取决于您的数据

>diff(AA$Apple)

或者

>diff(AA[,4])

答案 1 :(得分:0)

另一个选择(如果你指的是这个,你的问题不太清楚)

  

AA [-1,4] -AA [-dim(A)[1],4]