为什么我的 kable table 会产生这个 "no applicable method" 错误?

Why is my kable table producing this "no applicable method" error?

我已经搜索过了,但不幸的是之前的讨论(例如 )没有帮助。我无法诊断此问题中的错误。从根本上说,我试图从我的 table 中排除某些行或列。但是,我的代码:

library(kableExtra)
library(knitr)
library(dplyr) 
library(tidyr)      

knitr::kable(mtcars, digits=3) %>%
  dplyr::filter(cyl == 6) %>% 
    kableExtra::kable_styling()

产生此错误:

Error in UseMethod("filter_") : no applicable method for 'filter_' applied to an object of class "knitr_kable"

我从之前的讨论中知道 dplyr 屏蔽了 stats 中的 filter,这就是为什么我使用双冒号 ("::") 来指定我认为我想要的库.错误引用 filter_(带下划线)的事实告诉我问题出在 dplyr 或我对它的理解中。 dplyr 的版本为 0..8.0.1,knitr 的版本为 1.22。

非常感谢任何帮助!

你以错误的顺序做正确的事——但你在正确的轨道上。在将数据集传输到 kable 之前,您需要对其进行操作。让我知道这是否有帮助,如果您有任何其他问题!

library(kableExtra)
library(knitr)
library(dplyr) 
library(tidyr)      

mtcars %>%
  filter(cyl == 6) %>%
  kable(digits=3) %>%
  kable_styling()