创建了一个函数,但是刚跑一点点就出问题了。
grab_high<-function(x) {
n<-length(x)
date<-x[1]
j<-list()
k<-0
m<-NULL
for (i in 2:n) {
me<-x[i]
high<-which(x[[i]]>9.8)
if (length(high)<6) next
d<-diff(high)
t<-which(sapply(1:(length(x) - 5), function(i) {
all(d[i + (0:3)] == 1)
}))
continuous_high<-high(t)
date_high<-matrix(n[[continuous_high]],x[i][[continuous_high]])
n<-length(continuous_high)
v<-NULL
for ( i in 1:n) {
ireturn<-me[[continuous_high[i]+1]]
v<-c(v,ireturn)
m<-c(m,ireturn)
}
k<-k+1
j[k]<-v
}
return(mean(m))
}
}
str(getout)
'data.frame': 265 obs. of 2674 variables:
$ X : Factor w/ 265 levels "2014-03-21","2014-03-24",..: 1 2 3 4 5 6 7 8 9 10 ...
$ X000001.SH: num 2.7159 0.9113 0.0499 -0.1761 -0.8277 ...
$ X000001.SZ: num 6.832 0 -1.761 0.943 0.654 ...
$ X000002.SZ: num 6.658 0.624 -0.993 -1.629 1.656 ...
$ X000004.SZ: num 1.742 0.856 -0.309 0.774 2.458 ...
$ X000005.SZ: num 3.86 1.65 1.63 -2 2.45 ...
$ X000006.SZ: num 5.56 2.63 2.14 -1.88 10.02 ...
> grab_high(getout)
Error: could not find function "high"
high已经被定义成high<-which(x[[i]]>9.8),为什么还说找不到函数呢??
求教啊,谢谢。