1. ホーム
  2. list

[解決済み] Rで行列を列ベクトルのリストに変換するには?

2023-04-16 14:59:06

質問

行列をリストに変換し、リストの各要素が1つの列を含むようにしたいとします。 list() または as.list() では明らかに動作しないので、これまでは tapply :

x <- matrix(1:10,ncol=2)

tapply(x,rep(1:ncol(x),each=nrow(x)),function(i)i)

私はこれに完全に満足しているわけではありません。どなたか、私が見落としているよりきれいな方法をご存知ですか?

(行で満たされたリストを作るために、コードは明らかに.に変更することができます。

tapply(x,rep(1:nrow(x),ncol(x)),function(i)i)

)

どのように解決するのですか?

猫の皮をかぶるということで、配列をdim属性がないかのようにベクトルとして扱います。

 split(x, rep(1:ncol(x), each = nrow(x)))