楼主: gdyflxw
5611 3

[问答] R语言实战中的多元方差分析问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

10%

还不是VIP/贵宾

-

威望
0
论坛币
18 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
515 点
帖子
7
精华
0
在线时间
36 小时
注册时间
2013-5-14
最后登录
2022-7-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
R语言实战一书中,多元方差分析并没有把shelf转换为factor类型,自由度为1,而转换为factor类型之后自由度为2,请问这两种方式有什么不同?哪种正确?

我是看到它上面说可以使用TukeyHSD来判断每种因变量与哪种货架与其它货架是不同的,而我在使用TukeyHSD的时候,发现它需要把shelf转换为因子才可以使用,于是反过来产生了上面的疑问。

附程序结果(我把R语言实战中的例子改了一下,给出对比):

> library(MASS)
> attach(UScereal)
> y1<-as.data.frame(cbind(calories,fat,sugars,shelf))
> str(y1)
'data.frame':   65 obs. of  4 variables:
$ calories: num  212 212 100 147 110 ...
$ fat     : num  3.03 3.03 0 2.67 0 ...
$ sugars  : num  18.2 15.2 0 13.3 14 ...
$ shelf   : num  3 3 3 1 2 3 1 3 2 1 ...
> y2<-as.data.frame(cbind(calories,fat,sugars,shelf))
> y2$shelf<-as.factor(y2$shelf)
> str(y2)
'data.frame':   65 obs. of  4 variables:
$ calories: num  212 212 100 147 110 ...
$ fat     : num  3.03 3.03 0 2.67 0 ...
$ sugars  : num  18.2 15.2 0 13.3 14 ...
$ shelf   : Factor w/ 3 levels "1","2","3": 3 3 3 1 2 3 1 3 2 1 ...
> fit1<-manova(cbind(calories,fat,sugars)~shelf,data=y1)
> fit2<-manova(cbind(calories,fat,sugars)~shelf,data=y2)
> summary(fit1)
          Df  Pillai approx F num Df den Df  Pr(>F)   
shelf      1 0.19594    4.955      3     61 0.00383 **
Residuals 63                                          
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> summary(fit2)
          Df Pillai approx F num Df den Df    Pr(>F)   
shelf      2 0.4021   5.1167      6    122 0.0001015 ***
Residuals 62                                            
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> summary.aov(fit1)
Response calories :
            Df Sum Sq Mean Sq F value    Pr(>F)   
shelf        1  45313   45313  13.995 0.0003983 ***
Residuals   63 203982    3238                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Response fat :
            Df  Sum Sq Mean Sq F value   Pr(>F)   
shelf        1  18.421 18.4214   7.476 0.008108 **
Residuals   63 155.236  2.4641                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Response sugars :
            Df  Sum Sq Mean Sq F value  Pr(>F)  
shelf        1  183.34  183.34   5.787 0.01909 *
Residuals   63 1995.87   31.68                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> summary.aov(fit2)
Response calories :
            Df Sum Sq Mean Sq F value    Pr(>F)   
shelf        2  50435 25217.6  7.8623 0.0009054 ***
Residuals   62 198860  3207.4                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Response fat :
            Df Sum Sq Mean Sq F value  Pr(>F)  
shelf        2  18.44  9.2199  3.6828 0.03081 *
Residuals   62 155.22  2.5035                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Response sugars :
            Df  Sum Sq Mean Sq F value   Pr(>F)   
shelf        2  381.33 190.667  6.5752 0.002572 **
Residuals   62 1797.87  28.998                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:多元方差分析 R语言实战 分析问题 方差分析 R语言 library factor 因变量 自由度 程序

沙发
carnivoreyy 发表于 2016-12-30 15:36:37 |只看作者 |坛友微信交流群
顶!楼主扎实学习!

使用道具

这个叫做组间自由度,没变成分类变量前,是一组连续的数值,只有一个水平,所以自由度是1;变为分类变量后,分成了1、2、3三个水平,组间自由度为2

使用道具

板凳
H329 发表于 2019-12-31 16:10:45 |只看作者 |坛友微信交流群
楼主厉害,请问多元方差分析的结果怎么用多重比较呀?我的出不来,提示我 > TukeyHSD(OnewayMulti)
Error in model.tables.aov(x, "means") : 'model.tables'没有为多响应实现

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 05:02