2017-10-12 75 views
1

隨着矩陣:R:切片的行和列矩陣的條件語句

C = matrix(c(2, 4, 3, 1, 5, 7), nrow=2, ncol=3, byrow = TRUE) 

如何選擇的C子矩陣根據條件的行必須有一個有意味大於兩個,列的平均值必須介於2和5之間。

結果應該是矩陣的中間一列C

我想象兩個布爾向量(一個用於列條件,一個用於行條件),可以組合成一個布爾矩陣。然後可以使用該布爾矩陣從C中選擇子矩陣。這是否正確,如果是這樣,它如何實施?

回答

2
C[rowMeans(C) > 2, colMeans(C) > 2 & colMeans(C) < 5, drop = FALSE] 
#  [,1] 
#[1,] 4 
#[2,] 5 
+1

天哪,這很簡單。沒有意識到你可以把布爾表達式直接放入矩陣標記中...... –