获取列表中子集的单因子方差分析表



我有一个数据帧列表,我想对每个数据帧应用一个单向方差分析。这可能吗?我尝试使用匿名函数,但不断收到错误。每个数据帧由 3 列组成。第一个是主题名称,第二个是因子水平,第三个是响应值。下面是一些示例代码来帮助解决该问题。

df1 <- data.frame(name = rep("Sean", 9), variable = factor(c("a", "b", "c", "b", "a", "c", "a", "b", "c")), value = rnorm(9, 11))
df2 <- data.frame(name = rep("Laura", 9), variable = factor(c("a", "b", "c", "b", "a", "c", "a", "b", "c")), value = rnorm(9, 44))

my_list <- list(df1, df2)

我知道必须为每个数据帧lm(value ~ variable, data = df创建一个 lm 模型,然后我可以在模型上使用方差分析函数。但是,我无法完成工作。非常感谢。

我想我已经找到了一种方法来完成这项工作。我尝试了以下内容,它给了我一个方差分析表的列表。

models <- lapply(my_list, function(l) { lm(l[[3]] ~ l[[2]], data = l) } )
anova_tabs <- lapply(models, function(m) { anova(m) })

最新更新