将矢量转换为ANOVA的数据帧

时间:2016-05-27 21:44:29

标签: r

我想对我的数据运行双向ANOVA。我有两个因素(称为A和B),然后每个因子中有2个级别(分别称为A.1和A.2,以及B.1和B.2)。我有4个数值数据向量,一个对应于A.1,A.2,B.1和B.2。将这些向量转换为数据帧的最快方法是什么,以便我可以运行双向ANOVA? plyr中有一些功能可以帮我这么做吗?谢谢。

1 个答案:

答案 0 :(得分:0)

我已经从头开始创建数据框,您应该用您的数据填充向量。 要运行ANOVA,您需要在数据框中的不同列中显示因子和级别,此处它们将被命名为“' fac'和' lev'。

va1 <- c(  1,  2,  3,  4)
va2 <- c( -4, -3, -2, -1)
vb1 <- c(  9, 10, 11, 12)
vb2 <- c( -9,-10,-11,-12)

fac <- c(rep("A", 8), rep("B", 8))
lev <- c(rep("1", 4), rep("2", 4), rep("1", 4), rep("2", 4))
val <- c(va1, va2, vb1, vb2)

df     <- as.data.frame(cbind(fac,lev,val))
df$val <- as.numeric(df$val)

anova(lm(val ~ fac * lev, df))