我正在制作两个包含大量变量的表,因此我希望编写使用 janitor 包中的 tabyl() 的函数,并映射我感兴趣的变量。
第一个函数工作正常:
cars = datasets::mtcars
first_table = function(variable){
tabyl(variable, show_na = FALSE) %>%
adorn_pct_formatting(digits = 1)
}
first_table(cars$vs)
第二个表的生成方式几乎相同,但应生成两个变量和行百分比的交叉表,而不是表示单个变量的表。此代码和输出代表我尝试对我的函数执行的操作:
cars %>%
tabyl(vs, am, show_na = FALSE) %>%
adorn_percentages("row") %>%
adorn_pct_formatting(digits = 1) %>%
adorn_ns()
然而,当我将其编写为函数时, tabyl() 函数似乎只想识别第一个变量:
second_table = function(variable1, variable2){
tabyl(variable1, variable2, show_na = FALSE) %>%
adorn_percentages("row") %>%
adorn_pct_formatting(digits = 1) %>%
adorn_ns()
}
second_table(cars$vs, cars$am)
我不太确定问题是什么,并且想知道如何编辑此函数以提供带有行百分比的 2x2 表,而无需使用上述函数即可生成该表。
任何帮助是极大的赞赏。