1
行列のリストを行名でサブセット化しようとしています。R - rownameによる行列リストのサブセット
mtx1 <- matrix(data = c(1:12), nrow = 4)
mtx2 <- matrix(data = c(13:24), nrow = 4)
row.names(mtx1) <- c("A", "B", "C", "D")
row.names(mtx2) <- c("A", "B", "C", "D")
my_list <- c("B", "D")
mtx_list <- list(mtx1, mtx2)
これまでのところ、私は私が...
[[1]]
[,1] [,2] [,3]
B 2 6 10
D 4 8 12
[[2]]
[,1] [,2] [,3]
B 14 18 22
D 16 20 24
を得るだろうと思ったが、私は代わりに、行列の空のセットを受け取る...
sub_mtx_list
[[1]]
[,1] [,2] [,3]
[[2]]
[,1] [,2] [,3]
sub_mtx_list <- lapply(mtx_list, subset, row.names(mtx_list) %in% my_list)
を試してみました
ご協力いただければ幸いです!
'lapply(mtx_list、function(x)x [row.names(%)%my_list、])' –
'?subset'を読み込みます。これは対話的に使用するための便利な機能です。プログラミングの場合、[[、特に引数サブセットの非標準的な評価は予期しない結果をもたらす可能性がある]のような標準的なサブセット化関数を使用する方が良いです。 – Frank