> h5<-function(x) {
+ m<-which(x>9.8)
+ nn<-length(m)
+ bus<-NULL
+ if (nn>0)
+ for(i in 1:nn) {
+ v<-m[i]
+ if (x[[v+4,]]==x[[v,]]+4) {areturn<-mean(x[[v+5]],x[[v+6]])}
+ bus<-c(bus,areturn) }
+ zreturn<-mean(bus)
+ return(zreturn)
+ }
> str(ccc)
'data.frame': 264 obs. of 2673 variables:
$ X000001.SH: num 0.9113 0.0499 -0.1761 -0.8277 -0.2382 ...
$ X000001.SZ: num 0 -1.7609 0.9434 0.6542 0.0929 ...
$ X000002.SZ: num 0.624 -0.993 -1.629 1.656 1.754 ...
$ X000004.SZ: num 0.856 -0.309 0.774 2.458 -2.474 ...
$ X000005.SZ: num 1.65 1.63 -2 2.45 5.58 ...
$ X000006.SZ: num 2.63 2.14 -1.88 10.02 5.62 ...
$ X000007.SZ: num 0.326 -0.569 0.735 -1.054 -0.574 ...
$ X000008.SZ: num -1.268 -2.174 0.909 -2.102 -1.636 ...
$ X000009.SZ: num 0.821 -0.814 0.182 -1.821 -1.948 ...
$ X000010.SZ: num -0.834 -0.421 -4.366 -5.302 -2.333 ...
$ X000011.SZ: num 3.83 1.58 -2.2 5.96 2.88 ...
$ X000012.SZ: num 0 3.627 -0.5 -0.754 0.127 ...
> lapply(ccc,h5)
Error in x[[v + 4, ]] : incorrect number of subscripts
In addition: Warning message:
In mean.default(bus) : 参数不是数值也不是逻辑值:回覆NA
把 x[[v + 4, ]]改成 x[v + 4, ]也不行,到底是哪里错了呢?