2016-03-19 6 views
0

私は、数千の株式記号のリストを持っています。ただし、この関数は一度に200個以下のシンボルしか受け付けません。リストが完成するまで200個の記号の塊を通過させるようにループを設定するにはどうすればいいですか?以下は私がそれが見えるかもしれないと思ういくつかの緩い構造です。この関数は、手動で短縮されたshortsymbを通過するときに機能しますが、反復できるようにこのプロセスを自動化する必要があります。塊のリストをループする

library(quantmod) 
symbols<-read.csv("companylist.csv") 

for(i in 1:end){ 
    for(i in 1:200) 

     metrics <- getQuote(paste(symbols sep="", collapse=";"), what=what_metrics) 
}} 

shortsymb<-symbols[1:199,] 
+0

こんにちは、サブセットにインデックスを使用

  • (最後のチャンクがchunkSizeよりも小さくなる可能性があるためmin機能が必要である)start = ((i-1)*chunkSize+1)end = min(nSym,(i*chunkSize))ように、対応する開始及び終了行インデックスを計算しますそう。 [ask]と[再現可能な例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)の作成方法をお読みください。他の人があなたを助けやすくなります。 – Heroka

  • 答えて

    0

    ここで可能quick'n'dirtyソリューションです:コードの

    nSym <- nrow(symbols) 
    chunkSize <- 200 
    for(i in 1:ceiling(nSym/chunkSize)){ 
        shortsymb<-symbols[((i-1)*chunkSize+1):min(nSym,(i*chunkSize)),] } 
        # do what you need with shortsymb 
    } 
    

    説明:

    • 単純に割ることによってチャンクの数を計算する:nSym/chunkSize(私たちは天井を取ります余りがある可能性があるので、nSymchunkSizeの倍数でない場合)
    • 各チャンク(1,2,...,n)我々はに歓迎元data.frame
    +0

    私のための迅速かつ汚れ作品、巧妙なソリューション、ありがとう – Rob

    関連する問題