2016-08-15 14 views
-2

いつものように、私は何かがひどくシンプルではないと感じていますが、forループを取得して、別のforループの結果のいくつかのバージョンを出力しています。forループからの複数のマトリックス出力

コード:

#Create Species Vector 
    species.v <- letters[1:5] 

    #Matrix creation (Random) 
    start.matrix <- matrix(sample(species.v,25,replace=TRUE), 
         nrow=5, 
         ncol=5) 

    result.matrix <- vector("list",25) 

    for (i in 1:10) { 
    for (i in 1:50) { 
     in.dex <- sample(length(start.matrix),1) 
     start.matrix[in.dex] <- as.character(sample(start.matrix,1)) 
    } 

    result.matrix[[i]] <- start.matrix 
    } 

インデックス/サンプル/交換のためのループは私がやっているの非常に単純化したバージョンですが、それは同じ結果になります。私はこのループを何回か(この例では10回)繰り返し、後で分析/比較するために各出力を保持する必要があります。

とにかくRで分析を行っているので、私は新しいファイル(CSVなど)を書くのではなく、実際の出力を複数のファイルに出力することはできません。出力は罰金だ行列としてより簡単であるかのにもかかわらず

は、上記の例では、私は、リストとして「result.matrix」ベクターを作成しようとしました - 私はちょうどresult.matrixに

エラーを取得保管しました[I] < - start.matrix:複数の要素 供給

を置き換えることがあるよりは、(空かにスタッフとのいずれか)Iは、5×5のマトリックスとしてresult.matrixを設定したときに返されます。

すべてのヘルプはあなたの問題の説明に基づいて、あなたの質問に直接答えは、2つの場所であなたのコードを修正することです

+1

両方あなたのループがでインデックス化されているのはなぜ「私」? –

+0

2番目のループは、jなどの異なるインデックスを持つ必要があります。 – mkt

+0

あなたのリストの長さはどちらのインデックスにも対応していません。 – mkt

答えて

1

をいただければ幸いです。

#Create Species Vector 
species.v <- letters[1:5] 

#Matrix creation (Random) 
start.matrix <- matrix(sample(species.v,25,replace=TRUE), 
         nrow=5, 
         ncol=5) 

result.matrix <- vector("list",10) # Changed here 

for (i in 1:10) { 
    for (j in 1:50) {     # Changed here 
     in.dex <- sample(length(start.matrix),1) 
     start.matrix[in.dex] <- as.character(sample(start.matrix,1)) 
    }  
    result.matrix[[i]] <- start.matrix 
} 
関連する問題