この質問は何度も尋ねられているはずですが、私はQuestions that may already have your answer
を成功裏に検索しています。特定のエントリに関係するR行列のサブセット化列
行列の列をブール演算子(subset()
を使用せずに)でサブセット化するにはどうすればよいですか?
> m = matrix(c("A", "B", "B", "B", "C", "A", "C", "C", "D"), nrow = 3)
> m
[,1] [,2] [,3]
[1,] "A" "B" "C"
[2,] "B" "C" "C"
[3,] "B" "A" "D"
列は何の名前を持っていない、と私はいくつかのエントリに値「D」を含む任意の列を望んでいることに注意してください。
たとえば、this postでは、grades[grades[,"pass"] == 2,]
と呼び出します。呼び出しが行を抽出することと、pass
が単一の列を参照しているという事実とは別に、列の名前はありません。
私が試してみました:
> m[m == "D", ]
Error in m[m == "D", ] : (subscript) logical subscript too long
> m[which(m=="D"), ]
Error in m[which(m == "D"), ] : subscript out of bounds
> m = as.data.frame(m) # Turning the matrix into a df
> m[m == "D", ]
V1 V2 V3
NA <NA> <NA> <NA>
本当にエレガント!ありがとうございました! – Toni