这是我的代码
for (i in 101:length(temp[,6]))
{
if ( temp[i-1,5]< temp[i,5] )
print(temp[i,])
}
temp是我的数据
000001.SZ.Open 000001.SZ.High 000001.SZ.Low 000001.SZ.Close 000001.SZ.Volume 000001.SZ.Adjusted
2016-01-01 11.99 11.99 11.99 11.99 0 9.81595
2016-01-04 12.00 12.03 11.23 11.33 67619700 9.27563
2016-01-05 11.27 11.57 11.15 11.40 79592300 9.33293
2016-01-06 11.42 11.56 11.39 11.53 61884700 9.43936
2016-01-07 11.41 11.41 10.91 10.94 20971300 8.95634
2016-01-08 11.21 11.29 10.90 11.12 89703300 9.10370
看起来像这样。我使用代码is.numeric
is.numeric(temp)
[1] TRUE
和is.null
is.null(temp)
[1] FALSE
因此&#34; temp&#34;中的所有值有意义,能够计算。
我得到了结果
Error in if (temp[i - 1, 5] < temp[i, 5]) print(temp[i, ]) :
argument is of length zero
请告诉我这段代码的问题在哪里。
答案 0 :(得分:0)
您必须先从xts
对象中提取数据
library(quantmod)
xts_object <- getSymbols("000001.SZ", from= '2016-1-1', src="yahoo", auto.assign = F)
temp <- coredata(xts_object)
for (i in 101:length(temp[,6]))
{
if ( temp[i-1,5]<temp[i,5] )
print(temp[i,])
}