1

使用 R 的 expss 包,下面的简单代码给出了 'cyl'、'gear'、'am' 和 'vs' 的每个交叉值的汽车数量。使用类似的布局,是否可以用在第五个变量(例如“mpg”的中位数)上计算的一些统计数据来替换这个计数?

mtcars %>% 
tab_cells(cyl) %>% 
tab_cols(vs, am) %>% 
tab_rows(gear) %>%
tab_stat_cases() %>% 
tab_pivot()
4

1 回答 1

1

如果我理解正确,您需要:

mtcars %>% 
    tab_cells(mpg) %>% 
    tab_cols(vs, am) %>% 
    tab_rows(set_var_lab(gear, "gear") %nest% set_var_lab(cyl, "cyl")) %>%
    tab_stat_median() %>% 
    tab_pivot()

它给:

 # |      |    |     |    |     |        |   vs |      |   am |      |
 # |      |    |     |    |     |        |    0 |    1 |    0 |    1 |
 # | ---- | -- | --- | -- | --- | ------ | ---- | ---- | ---- | ---- |
 # | gear |  3 | cyl |  4 | mpg | Median |      | 21.5 | 21.5 |      |
 # |      |    |     |  6 | mpg | Median |      | 19.8 | 19.8 |      |
 # |      |    |     |  8 | mpg | Median | 15.2 |      | 15.2 |      |
 # |      |  4 | cyl |  4 | mpg | Median |      | 25.9 | 23.6 | 28.9 |
 # |      |    |     |  6 | mpg | Median | 21.0 | 18.5 | 18.5 | 21.0 |
 # |      |    |     |  8 | mpg | Median |      |      |      |      |
 # |      |  5 | cyl |  4 | mpg | Median | 26.0 | 30.4 |      | 28.2 |
 # |      |    |     |  6 | mpg | Median | 19.7 |      |      | 19.7 |
 # |      |    |     |  8 | mpg | Median | 15.4 |      |      | 15.4 |

更新:

  • tab_rows - 行分组变量
  • tab_cols - 列分组变量
  • tab_cells - 我们计算统计数据的变量。当我们计算汇总统计数据(例如中位数、平均值等)时,这很自然,但在计算个案或列百分比时可能会令人困惑。?tab_cells您可以通过在控制台中输入来获取一些文档。

```

|         |   tab_cols     |
|tab_rows | stat(tab_cells)|

```

汽车数量:

mtcars %>% 
    tab_cells(mpg) %>% 
    tab_cols(vs, am) %>% 
    tab_rows(set_var_lab(gear, "gear") %nest% set_var_lab(cyl, "cyl")) %>%
    tab_stat_median() %>% 
    tab_stat_valid_n(label = "#Total") %>% 
    tab_pivot(stat_position = "inside_rows")

您可以管理小数位数,expss_digits()但它会更改整个表格的小数位数。或者,如果您在 Windows 上使用 RStudio,您可以尝试expss_output_viewer()在 RStudio 查看器中进行输出。在这种情况下,带有“#”的行将不带小数显示。

于 2018-05-15T11:31:30.200 回答