私は複素数ベクトルを反復するループを作成しようとしており、5つの値のすべてのグループの標準偏差を計算しています。以下は私がこれを実行しようとしたときに書いたコードですが、それを実行しようとすると、NAの大部分が値として正確ではありません。ベクトルを反復して、Rの数値の標準偏差を計算するR
データは53412要素の大きな行列です。約1175行にする必要があります。私はちょうどそれは、それらの各Iは、ループでそれを行うにしようとしたとき、しかし、正常に動作コンソール
sd(data[seq((5) + 1,(5*i) + 5),6])
sd(data[seq((10) + 1,(10) + 5),6])
sd(data[seq((15) + 1,(15) + 5),6])
に次のように実行し、手動でそれを介してitterateしようとしてきました
for(i in floor((nrow(data)/5)-5)){sd5[i] <-sd(data[seq((5*i) + 1,(5*i) + 5),6])}
上のコードブロックの2行目と3行目を含め、大半のデータに対してNAを返します。ここで
念のために、私は(私は手動でSDを実行したときに、私は少なくとも、CSVファイルから正しい値をつかんだということを指摘したかった
2016-04-01,108.779999,110.00,108.199997,109.989998,25626200,109.989998
2016-03-31,109.720001,109.900002,108.879997,108.989998,25685700,108.989998
2016-03-30,108.650002,110.419998,108.599998,109.559998,45159900,109.559998
2016-03-29,104.889999,107.790001,104.879997,107.68,30774100,107.68
2016-03-28,106.00,106.190002,105.059998,105.190002,19303600,105.190002
を読んでいるCSVから数行です)、私はコンソールの出力をCSVファイルと比較しました。しかし、それは私がちょうど見つけることができないような方法で間違って反復しているわけではありません。私は、範囲外のエラーを避けるために、ループを切り捨てるように設定しました。
残りの値はどうすればよいですか? ( 'nrow(data)%% 5!= 0') – MichaelChirico
彼らは私が今やっていることには不必要です。私は在庫の全寿命のために、ビジネス週ごとに終値の標準偏差を追跡しています – Kristoff