R 创建三向表:tabyl输出排序
我正在尝试创建一个三向tabyl,我正在努力按照我的需要对列和行进行排序。以下是一个例子:R 创建三向表:tabyl输出排序,r,janitor,R,Janitor,我正在尝试创建一个三向tabyl,我正在努力按照我的需要对列和行进行排序。以下是一个例子: library(janitor) df <- data.frame(gender = c("f", "m", "m", "f", "m"), age_group = factor( c("35-45", "18-35", ">55", "45-55", ">55"), leve
library(janitor)
df <- data.frame(gender = c("f", "m", "m", "f", "m"),
age_group = factor(
c("35-45", "18-35", ">55", "45-55", ">55"),
levels = c("18-35", "35-45", "45-55", ">55")),
bmi_group = factor(
c("18.5 - 25", "<18.5", "18.5 - 25", ">30", "25 - 30"),
levels = c("<18.5", "18.5 - 25", "25 - 30", ">30")),
stringsAsFactors = TRUE)
df %>%
tabyl(bmi_group, age_group, gender, show_missing_levels = FALSE) %>%
adorn_totals("row") %>%
adorn_percentages("all") %>%
adorn_pct_formatting(digits = 1) %>%
adorn_ns %>%
adorn_title
图书馆(看门人)
df%
tabyl(bmi组、年龄组、性别、显示缺失水平=假)%>%
装饰总计(“行”)%>%
装饰百分比(“全部”)%>%
装饰pct格式(数字=1)%>%
装饰%>%
修饰头衔
它给了我这个:
我不知道如何按因子级别对特定于性别的表中的条目进行排序。排序现在按字母顺序进行。很好!这是一个很好的例子。它于年固定,于2021年1月发布。上面的相同代码现在生成按因子级别排序的列和行的输出:
$f
age_group
bmi_group 35-45 45-55
18.5 - 25 50.0% (1) 0.0% (0)
>30 0.0% (0) 50.0% (1)
Total 50.0% (1) 50.0% (1)
$m
age_group
bmi_group 18-35 >55
<18.5 33.3% (1) 0.0% (0)
18.5 - 25 0.0% (0) 33.3% (1)
25 - 30 0.0% (0) 33.3% (1)
Total 33.3% (1) 66.7% (2)
$f
年龄组
bmi_组35-45-55
18.5 - 25 50.0% (1) 0.0% (0)
>30 0.0% (0) 50.0% (1)
总数50.0%(1)50.0%(1)
百万美元
年龄组
bmi_组18-35>55
不知道这是否是一个未修复的bug()。在tabyl
中有两个因素,这似乎适用于按因素排序。但不包括三个因素。。。