如何在R中为manova准备数据

时间:2011-12-15 04:06:52

标签: r analysis variance manova

文本中的数据如下所示:

                       Initial Speed            
Pedal Rotation  10 mph  25 mph  40 mph  55 mph
  5 degrees         0.35    0.19    0.14    0.10
  8 degrees         0.37    0.28    0.19    0.19
  10 degrees        0.42    0.30    0.29    0.23

表中的数字代表加速度。

我想知道如何让这些信息准备好在R中进行manova测试。

我已经从列和行创建了变量:

mph10 <- c(0.35, 0.37, 0.42)
mph25 <- c(0.19, 0.28, 0.30)
mph40 <- c(0.14, 0.19, 0.29)
mph55 <- c(0.10, 0.19, 0.23)

d5 <- c(0.35, 0.19, 0.14, 0.10)
d8 <- c(0.37, 0.28, 0.19, 0.23)
d10 <- c(0.42, 0.30, 0.29, 0.23)

我在Youtube上找到了一些教程,展示了如何做manova,他们都使用.csv文件并直接使用manova而没有解释数据在文件中的排列方式或如何制作自己的文件。

所以,我不知道下一步该做什么......

2 个答案:

答案 0 :(得分:2)

您应该在分析之前将数据转换为数据框,上面的代码只会创建未链接的列。建议的代码(可能更有效的方法,这是有效的):

degrees <- data.frame(Degrees = c("d5","d8","d10"), MPH10=c(0.35, 0.37, 0.32), 
MPH25=c(0.19, 0.28, 0.30), MPH40=c(0.14, 0.19, 0.29), MPH55=c(0.10, 0.19, 0.23))

数据测试:

degrees

  Degrees MPH10 MPH25 MPH40 MPH55
1      d5  0.35  0.19  0.14  0.10
2      d8  0.37  0.28  0.19  0.19
3     d10  0.32  0.30  0.29  0.23

您现在应该能够分析manova中的学位。

当你为你的MPH变量做c(...)时,你将它们设置为观察值,而不是变量。如果要输入列而不是行,则使用rbind()命令。 因此,命令mph10 <- c(0.35, 0.37, 0.42)会将以下输出提供给mph10

[1] 0.35 0.37 0.42

mph10 <- rbind(0.35, 0.37, 0.42)给出了

     [,1]
[1,] 0.35
[2,] 0.37
[3,] 0.42

HTH。

答案 1 :(得分:1)

通常,您希望数据设置中的多变量响应各自位于各自的列中,而预测变量各自位于各自的列中。在我看来(不知道你测量的是什么)你的文本文件已经设置好了......但我会在第一列中删除重复的“度”一词。

我检查了youtube(r中的manova),如果你使用头骨示例(我发现的第二件事)并且意识到cbind命令的manova部分中的所有内容只是data.frame的单独列被组合在一起作为多变量响应变量,你应该没问题。