如何在R中使用数据框进行方差分析

时间:2019-01-18 17:17:25

标签: r

我目前正在学习R,并且正在使用具有四个标称变量(小时数,到达时间,模式,单位,工作日)和一个连续因变量(总体)的数据集。这些都是从.csv导入到名为basic的数据框中的。我想做的是仅使用此数据框运行ANOVA,而不创建单独的向量(例如Mode <-basic $ Mode)。 “拟合”保存方差分析的结果。这是我编写的代码:

Fit<-aov(basic["Overall"],basic["Unit"],data=basic)

但是,我不断收到错误消息

  

“ terms.default中的错误(公式,” Error“,数据=数据):无条件   组件或属性

我希望这个问题不太基本!

谢谢:)

1 个答案:

答案 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),但是函数的第一个参数应该是公式。