2017-08-01 3 views
1

forループで15個の異なる行列に変換したい15個の異なるグループを含むリストがあります。しかし、私はそれを動作させることができませんでした。ループ内で複数の行列を取得して自動的に割り当てるにはどうすればよいですか?

a=split(datalist,as.factor(datalist$groups)) 

私はこれを行うと、私は私の各成分([1]、[2]など)のリストにあったとしている[1] [2]等を入力して異なるグループを視覚化することができるに3x24のサイズであり、数値ではないとみなされました。 splitコマンドを使用した後、これらのコンポーネントを取得します。私はそれらを行列に変換する必要があると思ったので、それらを3x24サイズの15種類の行列に変換するループを作ろうとします。 (1〜15)各I番号の

Iは

matrix(unlist(a[i]), ncol=columnlength,byrow=rowlength) 

にこのコマンドを使用して行列を得ることができます。

それから私は、[i]は行列の1ユニットのみを指定している私は、Bを使用していますので、それは間違っている私のループ

for (i in 1:15) { 
    b[i]=matrix(unlist(a[i]), ncol=24,byrow=3) 

    } 

を開始します。しかし、私はb [i]の代わりに何を使うべきかわかりません。

答えて

0

ここで私はあなたが既にに使用assigna

letters[N]スルー
newnames <- letters[1:length(split.df)] 

をラベルされた新しい変数を作成し、その後

split.df <- split(mtcars, mtcars$cyl) 

をやっているように分割し、mtcars

ファーストを使用して示したアプローチです<-変数名とデータ

for (x in 1:length(newnames)) { 
     assign(newnames[x], as.matrix(split.df[[x]])) 
} 
+0

ありがとうございました! – Doa

0

私はあなたのproblmを理解できません。

"a"の結果は、ベクトルまたは行列| data.frameですか?その後、

あなたクレート "B" マトリックス、あなたは右、 "B" 行列にすべての "" の要素を入れたい3x24

あなたの "a"にはそれぞれ3要素の24個の要素がありますか? (行列のように...)

b <- as.matrix(a) 

問題を解決できませんか?

関連する問題