Rに次のようなベクトルがあるとします。
d<-seq(1,100)
このベクトルを10x10マトリックスに再形成して、代わりにこのデータを取得したいと思います。
[,1] [,2] [,3] .. [,10]
1 2 3 .. 10
11 12 13 .. 20
21 22 23 .. 30
..
91 92 93 .. 100
Reshape関数を使用しようとしましたが、機能しませんでした。誰かが助けてくれますか?
できるよ
dim(d) <- c(10, 10)
d <- t(d)
または
d <- matrix(d, nrow = 10, byrow = TRUE)
事前定義されたリストを行列(たとえば、5 * 4行列)に変換する場合は、次のようにします。
yourMatrix <- matrix(unlist(yourList), nrow = 5, ncol = 4)
マトリックスが列によって作成されることは注目に値します。つまり、データは列によってマトリックスに入力されますになります。したがって、行で作成された行列にしたい場合は、単純にt()を使用します。
yourMatrix <- matrix(unlist(yourList), nrow = 4, ncol = 5) # exchanges the cols and rows
yourMatrix <- t(yourMatrix) # matrix transpose