我很难为一个简单好看的交叉表创建一个简单的交叉表。PDF编织的R标记 文档。我有一个数据集,和这个例子类似。
library(tidyverse)
fakeData <- tibble(id = c(1,2,3,4,5,6,7,8,9,10),
bmi = c("normal", "overweighted", "underweighted", "normal", "normal", "overweighted",
"normal", "overweighted", "underweighted","normal"),
gender = c("M", "F", "M", "M", "F", "F", "M", "F", "F", "F"))
我想得到一个像这样的输出。
有谁有什么诀窍,有什么好的软件包可以做到这一点?非常感谢
我想 janitor
-包可以帮你解决这个问题......
注意:"总计 "列中的百分比与你所期望的输出不一致......这是因为你在输出中混合了纵列和横列的百分比计算......。那是因为你在输出中混合了顺行和逆行的百分比计算。这真的是你想要的吗?
library( janitor )
fakeTable <- fakeData %>%
tabyl( gender, bmi ) %>%
adorn_totals( where = c("row", "col") ) %>%
adorn_percentages("row") %>%
adorn_pct_formatting() %>%
adorn_ns( position = "front" ) %>%
adorn_title("combined")
# gender/bmi normal overweighted underweighted Total
# F 2 (33.3%) 3 (50.0%) 1 (16.7%) 6 (100.0%)
# M 3 (75.0%) 0 (0.0%) 1 (25.0%) 4 (100.0%)
# Total 5 (50.0%) 3 (30.0%) 2 (20.0%) 10 (100.0%)
编织
library(knitr)
library(kableExtra)
fakeTable %>%
kable() %>%
kable_styling(bootstrap_options = c("condensed", "striped", "bordered"))