我正在努力使用crosstab
函数,可在链接:
source("http://pcwww.liv.ac.uk/~william/R/crosstab.r")
我还使用了gtsummary
库并将mtcars
转换为tibble,然后使用以下命令将vs
和am
列转换为字符:
library(gtsummary)
mtcars = mtcars %>% as_tibble()
mtcars = apply(mtcars %>% select(vs, am), 2, as.character)
crosstab(mtcars, row.vars = "vs")
crosstab(mtcars, row.vars = "am")
我想使用apply
或sapply
函数实现相同的功能,而不使用crosstab
函数的row.vars
参数,我不知道如何设置。
我试过了
apply(mtcars, 2, crosstab(mtcars, row.vars = c('vs', 'am')))
但它不起作用。是否有其他方法来实现这一点,即使使用sapply
函数?
谢谢
1条答案
按热度按时间goucqfw61#
嗨,你几乎是对的,你只是对apply语法感到困惑:
您希望迭代一列列名(变量)而不是dataframe,并将其作为row.vars参数传递。
等价的for循环是: