当响应是向量值时,我应该在R中使用什么代码ANOVA模型…假设我有20个人的纵向数据,每个人有10个时间点的测量值……现在我有一个因子X有3个层次,比如0,1,2…我需要测试它们之间的水平是否有显著差异……我必须测试平均向量(向量,因为每个个体包含10个时间点)。如果0级的平均向量、1级的平均向量和2级的平均向量显著不同…
我的样本数据是:
Y
[1,] 9.759608 15.02230 17.70331
[2,] 9.596711 15.50542 18.49343
[3,] 11.298570 17.44781 19.48276
[4,] 8.519376 13.73086 17.05881
[5,] 10.232851 15.85302 19.87476
[6,] 10.888219 16.05568 20.12624
[7,] 9.688724 15.50494 18.82778
[8,] 10.309219 16.78230 18.80428
[9,] 9.620743 15.84582 19.32465
[10,] 10.418802 16.18098 17.94019
>treatment=c(0,1,1,2,0,2,1,1,0,1)
>treatment=factor(treatment)
> result=aov(Y~treatment)
Error in model.frame.default(formula = Y ~ treatment, drop.unused.levels = TRUE) :
object is not a matrix
也许这只是对象类型的问题。试一试:
as.matrix(Y)