使用 tidyverse 包,我可以輕松地聚??合單個變數。但是,我希望創建一個允許我同時聚合多個變數的函式。
我知道我必須將包含多個變數的資料幀轉換為一個串列,然后在這個串列中重疊一個聚合函式。但是,我無法創建此功能。
以下是我正在嘗試做的 REPREX:
# Load package
library(dplyr)
# Load dataset
dat <- data.frame(Titanic)
# Select variables
dat <- dat[, c('Class', 'Sex', 'Age','Survived')]
# Aggregate a single variable
dat %>% group_by(Class) %>% summarise(n=n())
# Desired outcome: Aggregate all variables simultaneously using a function
dat_ls <- as.list(dat) ## Create a list with all the variables
dat_agg <- lapply(dat_ls, function(???)) ## Apply aggregating function to each element in the list
uj5u.com熱心網友回復:
有了list,我們可以使用table
lapply(dat_ls, table)
另一種選擇是重塑為“長”格式,然后使用 count
library(dplyr)
library(tidyr)
dat %>%
pivot_longer(everything()) %>%
count(name, value)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/358016.html
