使用R中的sjPlot在因子变量

时间:2016-04-13 08:42:20

标签: r sjplot

我想要比较两个变量:一个包含年龄(连续)变量,一个包含中风状态变量(变量或没有冲程,因子)。我可以使用

快乐地完成这项工作
wilcox.test (allcoding$age~allcoding$stroketia)

但是,我在sjPlot中这样做很困难,因为它希望两者都是数字

sjt.mwu(mwu(allcoding$age, allcoding$stroketia))
Performing Mann-Whitney-U-Test...
---------------------------------
showing statistics between groups (x|y)
Error in wilcox.test.default(xsub, ysub.n, paired = TRUE) :
 'y' must be numeric

如何在sjPlot而不是"~"中执行等效的","

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我只能在分组变量属于character类型时重现此错误。

library(sjmisc)
library(sjPlot)
a <- runif(50, 10, 30)
b <- sample(LETTERS[1:3], size = 50, replace = T)
# throws an error
mwu(a, b)

然而,当你强迫因素时,它起作用:

mwu(a, as.factor(b))
sjt.mwu(mwu(a, as.factor(b)))

你可以尝试一下吗?