R 按组计算描述性统计

R 按组计算描述性统计,r,dplyr,statistics,grouping,R,Dplyr,Statistics,Grouping,我有一个从两所不同大学收集的数据集。每一个都包括学生的信息,如国家、年级、年龄等。我想提取每个国家的年级和年龄的最小值、平均值、最大值、标准差。他们在每个大学中按国家分组,并创建表格 我使用的代码如下。我正在为每个大学重复最小值、最大值和标准偏差的代码。重复这个过程是可以的,但是当我创建一个我想要的表时,我需要返回excel来合并我从这个代码中获得的统计信息。那么在R中有没有直接的方法来实现这一点呢 stats_gr <- data %>% select(Country, Gra

我有一个从两所不同大学收集的数据集。每一个都包括学生的信息,如国家、年级、年龄等。我想提取每个国家的年级和年龄的最小值、平均值、最大值、标准差。他们在每个大学中按国家分组,并创建表格

我使用的代码如下。我正在为每个大学重复最小值、最大值和标准偏差的代码。重复这个过程是可以的,但是当我创建一个我想要的表时,我需要返回excel来合并我从这个代码中获得的统计信息。那么在R中有没有直接的方法来实现这一点呢

 stats_gr <- data %>%
 select(Country, Grades, Age) %>%
 group_by(country) %>%
 summarise(Grades = mean(Grades), Age=mean(Age))
也许stargazer适合你:

library(stargazer)
stats_gr <- data %>%
 select(Country, Grades, Age) %>%
 group_by(country) %>% stargazer(type="text")

我用knitr的kable函数解决了这个问题

我生成的假数据集只是为了填充表。这是一个单一的数据集,其中包括来自每个国家两所大学的数据。 这种方法的优点是,如果您想使用rmarkdown来编织到word,它将很好地工作。如果你这样做,桌子就会像这样


您可以使用相关的kable参数控制位数、表格标题或列对齐方式。

不确定这是否是您想要的,但您可以写:SummarSegrades\u mean=meanGrades、Grades\u in=minGrades、Grades\u max=maxGrades、Grades\u sd=sdGrades、Age\u mean=meanAge。或者,作为一种替代方法,您可以使用do而不是summary并调用psych::descripe或任何其他预制的descriptives函数,您可以在select之后输出数据帧吗?即使只是dputheaddata也会有帮助。我想要的是在R中提取这个表。我不想使用excel在单个表中编译统计数据。@emilykoth。我猜数据是我的原始数据。在这个函数中,我应该用什么变量替换head。它向我显示了这条线统计N平均值St.Dev.Min Pctl25 Pctl75 Max。它工作得非常好。非常感谢你!对不起,还有一件事。如果我想将Grade&Age设置为它们的min、mean、max、sd的顶部,我应该向脚本中添加什么代码?kableExtra包将这样做以导出到HTML,但我不确定导出到word是否有效。

library(dplyr)
df <- tibble::tribble(
           ~University, ~Countries, ~Grades, ~Age,
        "University-1",      "USA",      46,    29,
        "University-1",       "UK",      84,    30,
        "University-1",   "Sweden",       5,    28,
        "University-1",    "Spain",      40,    26,
        "University-1", "Portugal",      49,    29,
        "University-1",    "Italy",      16,    24,
        "University-1",      "USA",      34,    19,
        "University-1",       "UK",      66,    28,
        "University-1",   "Sweden",       9,    25,
        "University-1",    "Spain",      80,    20,
        "University-1", "Portugal",      55,    20,
        "University-1",    "Italy",       4,    21,
        "University-1",      "USA",      93,    18,
        "University-1",       "UK",      62,    28,
        "University-1",   "Sweden",      80,    30,
        "University-2",    "Spain",       1,    22,
        "University-2", "Portugal",      56,    25,
        "University-2",    "Italy",       9,    29,
        "University-2",      "USA",      40,    21,
        "University-2",       "UK",      54,    20,
        "University-2",   "Sweden",      60,    24,
        "University-2",    "Spain",      77,    21,
        "University-2", "Portugal",      22,    18,
        "University-2",    "Italy",      53,    29,
        "University-2",      "USA",      11,    21,
        "University-2",       "UK",      65,    27,
        "University-2",   "Sweden",      24,    27,
        "University-2",    "Spain",      18,    23,
        "University-2", "Portugal",      73,    19,
        "University-2",    "Italy",      79,    22,
        "University-1",      "USA",       2,    26,
        "University-1",       "UK",      83,    23,
        "University-1",   "Sweden",       5,    19,
        "University-1",    "Spain",      75,    19,
        "University-1", "Portugal",      12,    21,
        "University-1",    "Italy",      68,    29,
        "University-1",      "USA",     100,    21,
        "University-1",       "UK",      49,    21,
        "University-1",   "Sweden",      81,    20,
        "University-1",    "Spain",      99,    23,
        "University-1", "Portugal",      82,    24,
        "University-1",    "Italy",      23,    26,
        "University-1",      "USA",      86,    30,
        "University-1",       "UK",      50,    20,
        "University-1",   "Sweden",       4,    19,
        "University-2",    "Spain",      12,    25,
        "University-2", "Portugal",      12,    21,
        "University-2",    "Italy",      45,    21,
        "University-2",      "USA",      16,    26,
        "University-2",       "UK",      56,    23,
        "University-2",   "Sweden",      63,    24,
        "University-2",    "Spain",      37,    28,
        "University-2", "Portugal",      86,    21,
        "University-2",    "Italy",      95,    18,
        "University-2",      "USA",      56,    20,
        "University-2",       "UK",      27,    20,
        "University-2",   "Sweden",       3,    27,
        "University-2",    "Spain",      18,    27,
        "University-2", "Portugal",      68,    27,
        "University-2",    "Italy",      48,    21
        )
  df %>% 
  group_by(University,Countries) %>%
  summarise(Grades_min = min(Grades), 
            Grades_mean = mean(Grades),
            Grades_max = max(Grades),
            Grades_sd = sd(Grades),
            Age_min = min(Age),
            Age_mean= mean(Age),
            Age_max = max(Age),
            Age_sd = sd(Age)) %>% 
  knitr::kable(col.names = c("University", 
                             "Country", 
                             "Min Grade", 
                             "Mean Grade", 
                             "Max Grade", 
                             "Grade SD", 
                             "Min Age", 
                             "Mean Age", 
                             "Max Age", 
                             "Age SD"))


|University   |Country  | Min Grade| Mean Grade| Max Grade| Grade SD| Min Age| Mean Age| Max Age|   Age SD|
|:------------|:--------|---------:|----------:|---------:|--------:|-------:|--------:|-------:|--------:|
|University-1 |Italy    |         4|   27.75000|        68| 27.95681|      21| 25.00000|      29| 3.366502|
|University-1 |Portugal |        12|   49.50000|        82| 28.82707|      20| 23.50000|      29| 4.041452|
|University-1 |Spain    |        40|   73.50000|        99| 24.61030|      19| 22.00000|      26| 3.162278|
|University-1 |Sweden   |         4|   30.66667|        81| 38.64022|      19| 23.50000|      30| 4.847680|
|University-1 |UK       |        49|   65.66667|        84| 15.31883|      20| 25.00000|      30| 4.195235|
|University-1 |USA      |         2|   60.16667|       100| 38.98931|      18| 23.83333|      30| 5.192944|
|University-2 |Italy    |         9|   54.83333|        95| 29.81554|      18| 23.33333|      29| 4.589844|
|University-2 |Portugal |        12|   52.83333|        86| 29.54601|      18| 21.83333|      27| 3.488075|
|University-2 |Spain    |         1|   27.16667|        77| 27.06597|      21| 24.33333|      28| 2.804758|
|University-2 |Sweden   |         3|   37.50000|        63| 29.03446|      24| 25.50000|      27| 1.732051|
|University-2 |UK       |        27|   50.50000|        65| 16.38088|      20| 22.50000|      27| 3.316625|
|University-2 |USA      |        11|   30.75000|        56| 21.06142|      20| 22.00000|      26| 2.708013|