行列に変換したいベクトルのセットV_1, V_2, ..., V_n
があります。各ベクトルは、行列の列ベクトルになります。各ベクトルのサイズは同じです。これを行うための簡単な関数はありますか? The R Book
のマトリックスセクションでは、この関数が存在するようには見えません。
私が現在行っていることは次のとおりです。
mat=matrix(c(V1, V2, ..., VN), nrow=length(V1))
EDIT:最終目標は、この行列を使用してk-means
クラスタリングを実行することです。私のベクトルの名前は実際にはV_1, V_2, ..., V_n
ではありません。ベクトルの名前は、データの取得元のファイル名に対応する部分文字列です(これは1-1マップです)。最終的には、特定のディレクトリ内のすべてのファイルを反復処理し、データをベクトルに抽出してから、各列ベクトルを行列に追加します。
有効なコマンドは次のとおりです。sapply(ls(pattern="V[[:digit:]]"),get)
ここで、patternの引数は、必要なベクトル(および必要なベクトルのみ)に一致する正規表現です。あるいは、いくつかのファイル名の部分文字列からベクトルに名前が付けられていることを考えると、各ベクトル名を要素として持つ文字ベクトルを作成できると思います。その場合は、lsコマンドをそのベクトルに置き換えることができます。
編集:列による行列の追加はcbind(列バインド)になります。例えば:
V1 <- rnorm(20)
V2 <- rnorm(20)
V3 <- rnorm(20)
mat <- matrix(c(V1,V2),nrow=length(V1))
(mat.app <- cbind(mat,V3))