使用dplyr的R滤波器矩阵

时间:2019-05-31 15:37:49

标签: r dataframe matrix dplyr

我正在尝试使用dplyr包中的filter()过滤矩阵。

mtcars_matrix = as.matrix(mtcars)    
mtcars_matrix %>% dplyr::filter(hp>100) # threw an error

下面的代码有效,我希望不要在矩阵和data.frame之间玩弄

mtcars_matrix %>% as.data.frame %>% dplyr::filter(hp>100) %>% as.matrix()

我可以使用dplyr过滤matrices吗?

2 个答案:

答案 0 :(得分:0)

不幸的是,{@ {1}}仅适用于data.frame和tibble,如@akrun所评论。一种可能的解决方案是使用dplyr::filter功能。

subset
df <- mtcars_matrix %>% 
  base::subset(mtcars_matrix[,"hp"] > 100)
df

答案 1 :(得分:0)

抱歉,响应延迟。您可以使用以下代码,

data.frame(mtcars_matrix) %>% dplyr::filter(hp>100)