R拟旋转内置函数聚合

R拟旋转内置函数聚合,r,function,dplyr,aggregate,R,Function,Dplyr,Aggregate,下面是从名为starwars的内置数据集中提取的代码。目标是能够构建最终的数据集对象,名为filtered_starwars,最终用户根据预先指定的条件(输入)“分组”、“汇总”。最终目标是能够使用此代码创建RShiny应用程序 然而,在进入这一领域之前,目前存在一些问题。我已经创建了一个列表,其中包含平均值和中值的聚合选择,以及测量高度和质量的选择。目标是将其输入到一个名为“聚合”语句的函数中,然后使用预先指定的输入从最终的“过滤”starwars数据帧中调用该函数。不幸的是,我不能在摘要部分

下面是从名为
starwars
的内置数据集中提取的代码。目标是能够构建最终的数据集对象,名为
filtered_starwars
,最终用户根据预先指定的条件(输入)“分组”、“汇总”。最终目标是能够使用此代码创建RShiny应用程序

然而,在进入这一领域之前,目前存在一些问题。我已经创建了一个列表,其中包含
平均值
中值
聚合选择
,以及
测量
高度
质量
选择。目标是将其输入到一个名为“聚合”语句的函数中,然后使用预先指定的输入从最终的“过滤”starwars数据帧中调用该函数。不幸的是,我不能在
摘要
部分这样做

我想创建一个最终的数据框架,用于对头发颜色、皮肤颜色、眼睛颜色进行适当的分组(这意味着它们是唯一的),以及新规定的高度
和质量
测量值,将创建为各子组的以下列,
平均高度
中间高度
平均质量
中间质量

目前,group BY不是唯一的,平均值和中值的聚合函数也不会弹出

我将非常感谢任何支持或指导!谢谢大家!

hair_color_choices <- unique(starwars$hair_color)
skin_color_choices <- unique(starwars$skin_color)
eye_color_choices <- unique(starwars$eye_color)
hair_color_selection <- c("brown", "black", "white", "none")
skin_color_selection <- c("fair", "dark", "white")
eye_color_selection <-  c("blue", "brown", "yellow")

dimensions <- colnames(starwars)[!sapply(starwars, is.numeric)]
measures <- colnames(starwars)[sapply(starwars, is.numeric)]
dimensions_groupBy <- c("hair_color", "skin_color", "eye_color")

aggregating_choices <- c(
  "mean" = mean(measures),
  "median" = median(measures)
)

measures_choices <- c("height", "mass")

aggregation_statement <- function(aggFunc, measures) {
  expr(aggregating_choices(!!enquos(measures_choice), na.rm = TRUE))
}

filtered_starwars <- starwars %>%
  filter(
    hair_color %in% hair_color_selection,
    skin_color %in% skin_color_selection,
    eye_color %in% eye_color_selection
  ) %>%
  group_by(!!!syms(dimensions_groupBy)) %>%
  summarise(!!!syms(measures_choices)) %>%
  collect() %>%
  ungroup()

hair\u color\u choices我不能完全确定我是否正确理解了你的问题。以下是你的想法吗?为此,我利用了
dplyr
1.0.0中新的
all_of
中的
cross
,以及您可以将列名作为字符串提供的事实,因此您不必处理非标准评估:

库(dplyr)
头发颜色选择组:头发颜色、皮肤颜色[6]
#>头发颜色皮肤颜色眼睛颜色平均高度中间高度平均质量
#>                                        
#>1黑-深棕色182。183纳
#>2黑棕173 173北美
#>3棕色-淡蓝色185。183纳
#>4棕色浅棕色NA NA NA
#>5无深蓝色184 184 50
#>6无深棕色188 188 84
#>7无白色黄色233 233 NA
#>8白色浅蓝色167 NA
#>9白色棕色193 193 80
#> # ... 还有一个变量:中位质量
由(v0.3.0)于2020年10月6日创建