这是我的数据框
# Load libraries
library(data.table)
library(expss)
library(sjlabelled) # to call function as_label()
# Create dataframe
a <- data.table("b1" = c(1, 2, 2, 2),
"b2" = c(1, 2, 1, 1),
"b3" = c(1, 1, 1, 1))
# Set value label
val_lab(a) = num_lab("
1 Yes
2 No
")
a = as_label(a)
它看起来像这样:
> a
b1 b2 b3
1: Yes Yes Yes
2: No No Yes
3: No Yes Yes
4: No Yes Yes
我想创建一个数据集,返回每个值的总出现次数,它应该如下所示:
Category b1 b2 b3
1: Yes 1 3 4
2: No 3 1 0
这可能与Stata中的tabout
命令的工作方式类似。
Category b1 b2 b3
1: Yes 25 75 100
2: No 75 25 0
3: sum 100 100 100
2条答案
按热度按时间scyqe7ek1#
一种可能性是在使用tidyverse包进行一些转换后使用
janitor
包:输出
至于百分比,您可以使用
janitor
adorn
函数:注意,请参阅
?adorn_pct_formatting
以了解其他格式选项。输出
rqdpfwrv2#
你可以在tidyverse中使用pivots和简单的聚合,尽管我也同意@LMc的观点,
janitor
是一个很好的表格汇总包。或者使用
values_from = p
: