我想使用一个分组变量对数据框中的某些数值变量进行 KW 测试。我更喜欢在循环中执行此操作,而不是输入所有测试,因为它们有很多变量(比下面的示例中更多)。
模拟数据:
library(dplyr)
set.seed(123)
Data <- tbl_df(
data.frame(
muttype = as.factor(rep(c("missense", "frameshift", "nonsense"), each = 80)),
ados.tsc = runif(240, 0, 10),
ados.sa = runif(240, 0, 10),
ados.rrb = runif(240, 0, 10))
) %>%
group_by(muttype)
ados.sim <- as.data.frame(Data)
以下代码在循环之外工作得很好。
kruskal.test(formula (paste((colnames(ados.sim)[2]), "~ muttype")), data =
ados.sim)
但它不在循环内:
for(i in names(ados.sim[,2:4])){
ados.mtp <- kruskal.test(formula (paste((colnames(ados.sim)[i]), "~ muttype")),
data = ados.sim)
}
我得到错误:
terms.formula(formula, data = data) 中的错误:模型公式中的项无效
有谁知道如何解决这个问题?非常感激!!