在 R 中创建具有描述性统计的表

1 r r-markdown

我想要一些关于在 R 中创建格式化表的帮助 - 无论是使用普通的 IDE 还是 R Markdown。我想做的主要事情有两件事:

  • 基于不同列按组呈现描述性统计数据(平均值、中位数、最小值、最大值)
  • 基于总样本(未分组数据)呈现描述性统计

样本数据:

   df <- data.frame(Gender = c("F", "M", "F", "M", "M", "M", "M", "F", "M", "M"),
                 Young = c("Y", "N", "Y", "N", "Y", "N", "Y", "N", "Y", "N"),
                 Age = c("14", "25", "13", "24", "14", "25", "13", "24", "10", "26"),
                 Location = c("Suburb", "Rural", "Suburb", "Rural","Suburb", "Rural","Suburb", "Rural","Suburb", "Rural"))
Run Code Online (Sandbox Code Playgroud)

预期成绩

多变的 意思是 中位数 最大限度 最小
性别
女性
男性
地点
市郊
乡村的
全部的

在 R 中有没有办法做到这一点?

Ron*_*hah 5

您可以通过获取长格式的数据来获取所需的所有信息。

library(dplyr)
library(tidyr)

df <- type.convert(df, as.is = TRUE)

df %>%
  pivot_longer(cols = -Age) %>%
  group_by(name, value) %>%
  summarise(min_age = min(Age), 
            max_age = max(Age), 
            median_age = median(Age), 
            mean_age = mean(Age))

#  name     value  min_age max_age median_age mean_age
#  <chr>    <chr>    <int>   <int>      <int>    <dbl>
#1 Gender   F           13      24         14     17  
#2 Gender   M           10      26         24     19.6
#3 Location Rural       24      26         25     24.8
#4 Location Suburb      10      14         13     12.8
#5 Young    N           24      26         25     24.8
#6 Young    Y           10      14         13     12.8
Run Code Online (Sandbox Code Playgroud)