我目前正在学习R,并且正在使用具有四个标称变量(小时数,到达时间,模式,单位,工作日)和一个连续因变量(总体)的数据集。这些都是从.csv导入到名为basic的数据框中的。我想做的是仅使用此数据框运行ANOVA,而不创建单独的向量(例如Mode <-basic $ Mode)。 “拟合”保存方差分析的结果。这是我编写的代码:
Fit<-aov(basic["Overall"],basic["Unit"],data=basic)
但是,我不断收到错误消息
“ terms.default中的错误(公式,” Error“,数据=数据):无条件 组件或属性
我希望这个问题不太基本!
谢谢:)
答案 0 :(得分:0)
我认为您想要更像Fit<-aov(Overall ~ Unit,data=basic)
的东西。 Overall ~ Unit
告诉R将{Total}视为Unit
所预测的结果;您已经指定查找这些变量的数据框是基本的。
以下是向您展示其工作方式的示例:
> y <- rnorm(100)
> x <- factor(rep(c('A', 'B', 'C', 'D'), each = 25))
> dat <- data.frame(x, y)
> aov(y ~ x, data = dat)
Call:
aov(formula = y ~ x, data = dat)
Terms:
x Residuals
Sum of Squares 2.72218 114.54631
Deg. of Freedom 3 96
Residual standard error: 1.092333
Estimated effects may be unbalanced
请注意,您不需要使用data参数,也可以使用aov(dat$y ~ dat$x)
,但是函数的第一个参数应该是公式。