我正在尝试使用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
吗?
答案 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)