No.21619 Re: 【R】行和と列和がゼロになる,行と列の一括削除 【青木繁伸】 2015/04/23(Thu) 06:30
a <- matrix(1:100, 10)
a[c(2,5,8),] <- a[, c(4,7)] <- 0
a
のような行列
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1 11 21 0 41 51 0 71 81 91
[2,] 0 0 0 0 0 0 0 0 0 0
[3,] 3 13 23 0 43 53 0 73 83 93
[4,] 4 14 24 0 44 54 0 74 84 94
[5,] 0 0 0 0 0 0 0 0 0 0
[6,] 6 16 26 0 46 56 0 76 86 96
[7,] 7 17 27 0 47 57 0 77 87 97
[8,] 0 0 0 0 0 0 0 0 0 0
[9,] 9 19 29 0 49 59 0 79 89 99
[10,] 10 20 30 0 50 60 0 80 90 100
があるとき,
b <- a[rowSums(a) != 0, colSums(a) != 0]
によって,
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1 11 21 41 51 71 81 91
[2,] 3 13 23 43 53 73 83 93
[3,] 4 14 24 44 54 74 84 94
[4,] 6 16 26 46 56 76 86 96
[5,] 7 17 27 47 57 77 87 97
[6,] 9 19 29 49 59 79 89 99
[7,] 10 20 30 50 60 80 90 100
の行列が得られます
No.21620 Special Thanks(Re: 【R】行和と列和がゼロになる,行と列の一括削除) 【赤羽】 2015/04/23(Thu) 22:15
青木先生,
赤羽と申します,ご教示をいただき誠にありがとうございます。
行列の周辺和をとり,subset関数で条件抽出をするのか,と,
自分でも考えていましたが,
まさか,論理を使ったこのような方法があるとは。
びっくりしました。
感激しました。
しびれました。
勇気を振り絞って,投稿させていただき,大変に良い勉強をさせていただきました。
● 「統計学関連なんでもあり」の過去ログ--- 047 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る