1

次のコードを入力してください。

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)

どちらがD12x3の行列であるかがわかります。Matから始めて取得する最も効率的な方法を知りたいDです。

> Mat
    11 39 67
119 45 35 27
120 44 34 26
121 43 33 25
122 42 32 24

実際、は;の最初の列と2番目の列によってインデックス付けされたMatの最後の列です。たとえば、どちらが45に等しいかを考えます。これは、11と119で識別される唯一の行からのものです。DDMat[1,1]D

どうすればそれを服用できますか?

ありがとう、

4

2 に答える 2

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
于 2012-09-11T14:51:20.690 に答える
2
library(reshape2)
dcast(data.frame(D), X2 ~ X1)
于 2012-09-11T14:52:10.057 に答える