可以' expss' R包相当于SAS PROC TABULATE?

时间:2018-05-15 08:15:42

标签: r expss

使用R的expss包,下面的简单代码给出了' cyl',' gear' am' am&#的每个交叉值的汽车数量。 39;和' vs'。使用类似的布局,是否可以通过在第五个变量上计算的某个统计量来替换此计数(例如,' mpg'的中位数)?

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

1 个答案:

答案 0 :(得分:0)

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

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,则可以在RStudio viewer中尝试expss_output_viewer()输出。在这种情况下,行带有&#34;#&#34;将显示没有小数。