- こちらから
- ここから、こうたどって、行きつく「行列の扱い」ここにリンクを張っておいて、検索できるようにしておく
- 行列の添え字を取り出す関数which()
- こちらの記事
- 条件を満足する要素の添え字を取り出す
- ベクトル形式で取り出すか、行列形式で取り出すかは arr.ind=FALSE,arr.ind=TRUEで選ぶ
- すべての要素が満足する条件を与えてやればよい
A<-matrix(1:12,3,4)
A
cbind(which(A<=max(A),arr.ind=TRUE),c(A))
> A<-matrix(1:12,3,4)
> A
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> cbind(which(A<=max(A),arr.ind=TRUE),c(A))
row col
[1,] 1 1 1
[2,] 2 1 2
[3,] 3 1 3
[4,] 1 2 4
[5,] 2 2 5
[6,] 3 2 6
[7,] 1 3 7
[8,] 2 3 8
[9,] 3 3 9
[10,] 1 4 10
[11,] 2 4 11
[12,] 3 4 12
>
- 添え字はindexなので、Rに次のように検索をかけると
?? index
- row(),col()という関数があることがわかる
row(A)
col(A)
cbind(c(row(A)),c(col(A)),c(A))
> row(A)
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] 2 2 2 2
[3,] 3 3 3 3
> col(A)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 1 2 3 4
[3,] 1 2 3 4
> cbind(c(row(A)),c(col(A)),c(A))
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 2 1 2
[3,] 3 1 3
[4,] 1 2 4
[5,] 2 2 5
[6,] 3 2 6
[7,] 1 3 7
[8,] 2 3 8
[9,] 3 3 9
[10,] 1 4 10
[11,] 2 4 11
[12,] 3 4 12
- cbind()も使わず、3つの値列をplot3d()に渡してもよい(こちらから)
plot3d(row(A),col(A),A)