2017-03-28 2 views
0

逐次インクリメントされていない

library(quantmod) 

    #input symbol, start and end dates: 

    my_symbol<-readline("What symbol would you like analyzed?") 
    start_date <- readline("When do you want the series to start?") 
    end_date <- readline("When do you want the series to end?") 

    start_date2 <- readline("When do you want the scaled series to start?") 
    end_date2 <- readline("When do you want the scaled series to end?") 

    data1 <- as.data.frame(getSymbols(my_symbol, from = start_date, to = end_date, env = NULL)) 
    data2<- getSymbols(my_symbol, from = start_date2, to = end_date2, env = NULL) 
    data3<- as.ts(data2[,4]) 

    section<-length(data3)/3 
    #divide subset into 3 sections 

    subdata1<-data3[1:section] 
    subdata2<-data3[section:(section*2)] 
    subdata3<-data3[(section*2):(section*3)] 


    section2<-length(subdata1) 
    testdata1<-data1[,4] 
    testdata2<-testdata1[1:section2] 

    #Iterate through testdata 

    len2<-length(subdata1) 
    while (x < 0.67){ 
     x<-0.66 
     resize<-approx(seq_along(subdata1), subdata1, n = len2*x)$y 
     len<-length(resize) 
     for (i in testdata1){ 
     testdata2<-testdata1[(1+i):(len+i)] 
     corl<-cor(testdata2, resize) 
     if (corl>0.6){ 
      maxes<-c(corl, len, i) 
      #print(maxes) 
      } 
     print(len) 
      } 

     x<-(x+0.01) 
     } 

whileループの私のX変数は静的のまま変化しません。いつかwhileループが壊れることを考えると奇妙です。長さは、ラインプリント(len)によって明らかに同じままです。whileループ - 変数xは、同様の規模の

何ができるのですか?

+0

このコードに基づいて、whileループを1回だけ実行するとします。 –

+0

私はコーディングに新しいです、あなたはそれを行う方法を教えてくださいできますか? –

+0

'while'ループはどのように実行されますか? 'x'はループの開始時には未定義です。 – spicypumpkin

答えて

0

問題を解決/解決するのに役立ちましたので、回答として私のコメントを言います。

与えられた通り、whileループは1回だけ実行されます。最初にx<-0.66があり、最後にx<-(x+0.01)があるとx=0.67になり、ループの条件がwhile (x<0.67)であるため、ループを終了させます。

xの初期設定をループ外に移動する必要があります。そうしないと、毎回リセットされます。ループが最初の実行で終了しないと、無限ループします。ループを2回以上実行するには、x<-(x+0.01)をたとえばx<-(x+0.001)と置き換えることができます。

関連する問題