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日创建