使用 R 的 expss 包,下面的简单代码给出了 'cyl'、'gear'、'am' 和 'vs' 的每个交叉值的汽车数量。使用类似的布局,是否可以用在第五个变量(例如“mpg”的中位数)上计算的一些统计数据来替换这个计数?
mtcars %>%
tab_cells(cyl) %>%
tab_cols(vs, am) %>%
tab_rows(gear) %>%
tab_stat_cases() %>%
tab_pivot()
如果我理解正确,您需要:
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_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 查看器中进行输出。在这种情况下,带有“#”的行将不带小数显示。