我創建了一個聚合資料集中數值的函式,我首先使用 group_by() 函式對資料進行分組。下面是我撰寫的代碼的示例。有沒有一種方法可以 group_by() 多個變數而不必為函式創建另一個輸入?
agg <- function(data, group){ aggdata <- data %>% group_by({{group}}) %>% select_if(function(col) !is.numeric(col) & !is.integer(col)) %>% summarise_if(is.numeric, sum, na.rm = TRUE) return(aggdata)
uj5u.com熱心網友回復:
您的代碼(至少)有一個放錯位置的大括號,如果沒有可重現的示例和所需的結果,很難看到您要完成的作業。
可以將變數名向量傳遞給group_by(). 例如,以下產生與以下相同的結果mtcars %>% group_by(cyl, gear):
my_groups <- c("cyl", "gear")
mtcars %>% group_by(!!!syms(my_groups))
也許您可以在函式定義中使用此語法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/434862.html
