请输入以下代码:
A <- matrix(11, nrow = 4, ncol = 3)
A[,2] <- seq(119, 122, 1)
A[,3] <- seq(45, 42)
B <- matrix(39, nrow = 4, ncol = 3)
B[,2] <- seq(119, 122, 1)
B[,3] <- seq(35, 32)
C <- matrix(67, nrow = 4, ncol = 3)
C[,2] <- seq(119, 122, 1)
C[,3] <- seq(27, 24)
D <- rbind(A, B, C)
你会得到D
这是一个12 x 3矩阵;我想知道从Mat
开始获取D
的最有效方法。
> Mat
11 39 67
119 45 35 27
120 44 34 26
121 43 33 25
122 42 32 24
事实上,Mat
是由D
的第一列和第二列索引的D
的最后一列;例如考虑等于45的Mat[1,1]
:它来自D
的唯一一行,由11和119标识。
我怎么能感受到它?
谢谢,
答案 0 :(得分:3)
您可以使用xtabs
:
xtabs(D[,3]~D[,2]+D[,1])
D[, 1]
D[, 2] 11 39 67
119 45 35 27
120 44 34 26
121 43 33 25
122 42 32 24
答案 1 :(得分:2)
library(reshape2)
dcast(data.frame(D), X2 ~ X1)