【发布时间】:2020-11-06 16:01:03
【问题描述】:
这是来自 R 中 dplyr 库的数据框 starwars。我正在尝试使用 dplyr 编写聚合表,主要使用 group_by_at 和 summarize_at 链。我已经定义了向量dimensionsVec、measuresVec 和函数。目标是使用分配给数据帧pivotData 的dplyr 链中的所有三个向量。
不幸的是,count = length 参数在运行 pivotData 后尝试吐出数据帧时不起作用。这可能是由于na.rm = TRUE 声明。所以基本上,除了函数中的count = length 参数外,一切都正常。您可以通过注释掉 `functions 向量的 count = length 部分来找到它。
有人可以帮助我吗?非常感谢您的帮助!
下面的代码sn-p
library(dplyr)
data <- starwars
dimensionsVec <- c("skin_color", "eye_color")
measuresVec <- c("height", "mass")
functions <- c(count = "length",
mean = "mean",
sum = "sum",
median = "median",
max = "max",
min = "min")
funsList <- lapply(functions, match.fun)
names(funsList) <- functions
pivotData <- data %>%
group_by_at(vars(dimensionsVec)) %>%
summarize_at(vars(measuresVec), funsList, na.rm = TRUE) %>%
collect()
【问题讨论】: