在尝试刷新我的R"知识"时玩耍,我做到了这一点
> a <- matrix(1:20, byrow=TRUE, nrow = 4)
> a
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
[3,] 11 12 13 14 15
[4,] 16 17 18 19 20
> b <- a[3:4, 1:2]
> b
[,1] [,2]
[1,] 11 12
[2,] 16 17
> c <- matrix(b, byrow = TRUE, nrow = 2)
> c
[,1] [,2]
[1,] 11 16
[2,] 12 17
Run Code Online (Sandbox Code Playgroud)
为什么c不同b?引擎盖下会发生什么?
一个matrix是vector只有尺寸.所以,如果你换一个matrix创建另一个matrix,它正在考虑价值观为vector和,因为byrow = TRUE参数是存在的,它会由"B"(这是真正的每一列matrix,data.frame,tibble- ),unlist然后创建新matrix的填充先行