rpivotTable:删除不必要的聚合器

rpivotTable: remove unnecessary aggregators

我使用 rpivotTable 包创建了一个交互式枢轴 table。但是,我发现一些聚合器和 renderName 对我的用户来说是不必要的。我想删除它们。例如,我想从聚合器下拉菜单中删除 "Average"。

这是我的例子:

library(shiny)
library(rpivotTable)
df <- iris

ui <- fluidPage(

fluidRow(
column(width=10, rpivotTableOutput("pivot"))
)
)

server <- function(input, output, session) {

output$pivot<-renderRpivotTable({

rpivotTable(df,
            rendererName="Heatmap",
            cols=c("Species"),
            rows=c("Petal.Width"),
            aggregatorName="Count",
            hiddenFromAggregators=["Average"]
)


 })

 }

 shinyApp(ui = ui, server = server)

我注意到似乎有一些名为 "hiddenFromAggregators" 的相关参数,但我不知道如何在 R/Shiny 环境中应用它。

这是我找到 "hiddenFromAggregators" 的地方。

https://github.com/nicolaskruchten/pivottable/wiki/Parameters

hiddenFromAggregators 参数影响哪些数据集属性有资格用作聚合器的参数,而不是影响哪些聚合器可用。在 rpivotTable 中传递一组自定义聚合器是相当具有挑战性的,但使用类似于此处方法的方法可能是可能的:https://github.com/smartinsightsfromdata/rpivotTable/issues/81

您需要先熟悉此处的文档:https://github.com/nicolaskruchten/pivottable/wiki/Aggregators

您可能正在寻找这样的东西:

rpivotTable(iris, 
            rendererName = "Treemap",
            cols = c("Species"),
            rows = c("Petal.Width"),
            aggregatorName = "Count",
            aggregators = list(Sum = htmlwidgets::JS('$.pivotUtilities.aggregators["Sum"]'),
                               Count = htmlwidgets::JS('$.pivotUtilities.aggregators["Count"]')),
            subtotals = TRUE)

可能有比一个一个添加聚合器更快的方法(使用完整 pivotUtilities.aggregators)

我找不到默认聚合器的完整列表,但您可以在您的应用程序上使用 Web 检查器获取它(使用 Google Chrome:右键单击 > 检查)并输入 $.pivotUtilities.aggregators 在控制台选项卡中。