2017-01-20 1 views
1

私は最初の列がサンプルのIDである列を持ち、2列目から15列目は14種の魚種の観察された存在であり、列16 〜29は同じ14種の予測される存在である。元の行列の別の列を選択して新しい行列を作成する必要があります

最初の列=サンプルのID(元の行列の列1)、2番目の列=種の観察された存在、3番目の列=予測された14個の行列(種あたり1個)種の存在。

Aは私のサンプルのIDであると言うことができます:

A<-c(1,2,3,4,5,6,7,8,9,10)

B私の種について観測値

B<-replicate(14,rnorm(10))

Cは自分の種の予測値であるれる

C<-replicate(14,rnorm(10))

A14行列、1にA1を持つまで

data<-cbind(A, B, C)

が、私はこの

A1<-cbind(data[,1],data[,2],data[,16]) A2<-cbind(data[,1],data[,3],data[,17])

などのような何かをしたい..:

は、だから私は行列 "データ" を持っています各種について。私はlapply機能を使用する必要があると思うが、私は失われている。誰でも助けてくれますか?

ありがとうございます!

答えて

0

私たちは、代わりに、地球環境に複数のオブジェクトを作成するのでlistでそれを維持する方が良いの列

lst <- lapply(seq_len(ncol(B)), function(i) cbind(A, B= B[,i], C=C[,i])) 
names(lst) <- paste0("A", seq_along(lst)) 

のシーケンスをループでmatriceslistを作成するためにlapplyを使用することができます。しかし、とにかくそれが必要ならば

list2env(lst, .GlobalEnv) 
関連する問題