铁锷未残 发表于 2018-10-25 23:16 
请再清楚地说明一下你筛选数据的规则,或者也可以举一个例子。
等于说是把我的这段代码循环48次,然后将数据整合成数据框。数据框总共有48*6列,每48是一个循环,前48列,是从所有所有时间段的第一个数据开始到第722个数据(假设有727个数据),第二个48列是从所有时间段的第二个数据开始到第723开始,保证行数相等,刚好第六个48列是所有时间段的第六个数据开始到第727个结束。
###########计算第一个时间段的数据
cjl1<-gu1[1:721,2]
cjl2<-gu1[2:722,2]
cjl3<-gu1[3:723,2]
cjl4<-gu1[4:724,2]
cjl5<-gu1[5:725,2]
cjl6<-gu1[6:726,2]
cjl7<-gu1[7:727,2]
gupiao<-cbind(cjl1,cjl2,cjl3,cjl4,cjl5,cjl6,cjl7)
gupiao<-as.data.frame(gupiao)
我的这个代码是相对于单输出,一次只预测一个时间段写的。多输出就是按照同样的方法扩充到48个时间段。
下面是我目前的所有代码
###########读取文件
szzs<-read.csv("szzs.csv")
szzs1<-szzs[,c(1,4)]
library('e1071')
###########定义抽取函数
chouqu<-function(i)
return(subset(szzs1,szzs1$xh%%48==i))
###########创建每个时间段的数
for (i in 1:48){
nassign(paste("gu", i, sep = ""), chouqu(i%%48))
}
###########以X9.35时间段为例建立svm模型
###########计算第一个时间段的数据
cjl1<-gu1[1:721,2]
cjl2<-gu1[2:722,2]
cjl3<-gu1[3:723,2]
cjl4<-gu1[4:724,2]
cjl5<-gu1[5:725,2]
cjl6<-gu1[6:726,2]
cjl7<-gu1[7:727,2]
gupiao<-cbind(cjl1,cjl2,cjl3,cjl4,cjl5,cjl6,cjl7)
gupiao<-as.data.frame(gupiao)