如何在R中一次性对数据框所有列执行指定函数获取汇总统计
方法一:基础R
lapply 实现 直接用lapply遍历数据框的每一列,对每一列执行你需要的函数操作:
# 生成每列的汇总统计,返回列表格式 col_summaries <- lapply(dataframe, function(col) { summary(as.factor(as.character(col))) }) # 查看结果 print(col_summaries)
如果想把结果整理成更易读的数据框格式,可以再处理一步:
# 将列表结果转为数据框 summary_df <- do.call(rbind, lapply(col_summaries, as.data.frame.list)) rownames(summary_df) <- colnames(dataframe) print(summary_df)
方法二:tidyverse 风格实现
如果你习惯用tidyverse工具包,可以用across函数批量处理所有列,再直接调用summary:
library(tidyverse) # 先将所有列转为因子,再生成汇总统计 dataframe %>% mutate(across(everything(), ~as.factor(as.character(.x)))) %>% summary()
这种方式的输出格式和默认summary()一致,更规整易读。
内容的提问来源于stack exchange,提问作者Aryh
相关产品推荐
相关产品推荐

