gpt4 book ai didi

r - 如何在宽格式的data.frame上运行ANOVA?

转载 作者:行者123 更新时间:2023-12-04 22:09:47 26 4
gpt4 key购买 nike

我被教导要使用以下公式进行ANOVA:
aov(因变量〜因变量,数据集)

但我在为特定数据集运行方差分析方面遇到了麻烦,因为它分为三列,每列包含一个值。这三列分别表示新生儿,青少年和成人(即仓鼠年龄),每列中的值代表血压值。我需要进行测试以确定血压和年龄之间是否存在关系。

这是R中的数据:

> hamster
Newborn adolescent adult
1 108 110 105
2 110 105 100
3 90 100 95
4 80 90 85
5 100 102 97
6 120 110 105
7 125 105 100
8 130 115 110
9 120 100 95
10 130 120 115
11 145 130 125
12 150 125 120
13 130 135 130
14 155 130 125
15 140 120 115

困惑,因为因变量是每一列中的那些值^

最佳答案

第一步是重新排列您的数据,使其采用“长”格式而不是“宽”格式。这可以在R的基础上使用reshape函数完成,但是在gather包中使用tidyr函数要容易得多:

library(tidyr)
result <- hampster %>%
gather(age, bp) %>%
aov(bp ~ age, .)

使用 tidyr还为我们提供了管道运算符( %>%),它使您可以通过漂亮的方式将命令链接在一起。默认情况下,它通过获取上一个函数的结果并将其作为下一个函数的第一个参数插入而起作用。在您的 aov函数中,我们使用 .运算符覆盖了它,以明确地将 gather函数产生的数据集作为第二个参数。

关于r - 如何在宽格式的data.frame上运行ANOVA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50092114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com