R:tidy()使用扫帚包的aovlist-object

时间:2015-02-09 14:25:49

标签: r

我在整理avolist个对象时遇到了一些麻烦。在执行重复测量方差分析时,optput对象通常是不同错误层的aov个对象列表。

datafilename <- "http://personality-project.org/r/datasets/R.appendix5.data"
aov_example <- read.table(datafilename, header = T)
aov_example <- aov(Recall ~ (Task*Valence*Gender*Dosage) + Error(Subject/(Task*Valence)) +(Gender*Dosage), aov_example)
class(aov_example)
  

[1]“aovlist”“listof”

(来自http://personality-project.org/r/#anova的示例)

到目前为止,无法直接整理这些对象,因为broom::fix_data_frame()没有列表。

library("broom")
tidy(aov_example)
  

as.data.frame.default(x)出错:    不能强制类“c(”aovlist“,”listof“)”“到data.frame

所以我尝试使用lapply(),但这会引发错误:

lapply(aov_example, tidy)
  

`colnames&lt; -`(`* tmp *`,value = c(“df”,“sumsq”,“meansq”,“statistic”)中的错误:    属性'names'[5]的长度必须与vector [3]

的长度相同

对此有一个简单的解决方法吗?

2 个答案:

答案 0 :(得分:5)

has been added开始扫描tidy.aovlist方法version 0.3.6,以便人们可以做到:

tidy(aov_example)

不需要lapply

答案 1 :(得分:2)

你可以试试这个:

lapply(summary(aov_example),function(x){tidy(x[[1]])})

它将为您提供具有自由度,平方和的数据表列表。