我可以在 R 中以时间作为因变量 (y) 进行方差分析检验吗?

Can I perform ANOVA test with time as the dependent variable (y) in R?

提问人:Maya Eldar 提问时间:5/24/2022 最后编辑:Maya Eldar 更新时间:5/24/2022 访问量:211

问:

我想测试一下蝌蚪的起源是否会影响它的日期,也就是说,如果蝌蚪的起源来自北方的一个水池,那么蝌蚪的会不会早于南方的蝌蚪的? 为此,我希望使用方差分析检验。我的代码如下所示:

DATE_OF_METAMORPHOSIS -> dmy_hms(DATE_OF_METAMORPHOSIS)

one.way <- aov(DATE_OF_METAMORPHOSIS ~ POPULATION, data = info_table)

它确实计算了一些东西,但我不确定 R 如何处理 DATE_OF_METAMORPHOSIS 变量中的日期。.如果有人知道我的代码是否做到了我用文字描述的那样,或者知道 R 是否知道如何使用日期作为连续变量以及如何做到这一点,我将很乐意提供帮助! TNX!

我的数据示例:
info_table

ID | POPULATION | DATE_OF_METAMORPHOSIS|
---|------------|----------------------|
1 | 1 | 7/19/2021  12:01:00 AM|
2 | 2 | 7/29/2021  12:01:00 AM|
3 | 3 | 8/1/2021  12:01:00 AM|
4 | 1 | 8/4/2021  12:01:00 AM|
5 | 2 | 5/16/2021  12:01:00 AM|
6 | 3 | 5/14/2021  12:01:00 AM|
r datetime 方差分析 表统计

评论

0赞 Jon Spring 5/24/2022
您能否运行并编辑您的问题以包含输出?这将创建一个代码“配方”,我们可以使用它来制作具有相同数据类型的数据的精确副本,这将使您更容易理解问题的具体细节并尝试可能的解决方案。dput(info_table)
1赞 Jon Spring 5/24/2022
变量类似于以“%m/%d/%Y %H:%M%S”格式显示日期的文本。第一行采用年-月-日顺序,而不是月-日-年,并且不接触对象。DATE_OF_METAMORPHOSISinfo_table

答:

0赞 Rui Barradas 5/24/2022 #1

这两个错误是:

  1. datetime 列的格式为 ,而不是mdy hmsymd hms;
  2. 没有列,它的名字是。POPULATIONorigin

更正这两个错误,运行 .aov

x <- '
ID | origin | DATE_OF_METAMORPHOSIS|
1 | 1 | 7/19/2021  12:01:00 AM|
2 | 2 | 7/29/2021  12:01:00 AM|
3 | 3 | 8/1/2021  12:01:00 AM|
4 | 1 | 8/4/2021  12:01:00 AM|
5 | 2 | 5/16/2021  12:01:00 AM|
6 | 3 | 5/14/2021  12:01:00 AM|'

info_table <- read.table(textConnection(x), header = TRUE, sep = "|")[-4]
info_table$DATE_OF_METAMORPHOSIS <- lubridate::mdy_hms(info_table$DATE_OF_METAMORPHOSIS)

one.way <- aov(DATE_OF_METAMORPHOSIS ~ origin, data = info_table)
summary(one.way)
#>             Df    Sum Sq   Mean Sq F value Pr(>F)
#> origin       1 8.885e+12 8.885e+12   0.743  0.437
#> Residuals    4 4.782e+13 1.196e+13

创建于 2022-05-24 通过 reprex 包 (v2.0.1)

评论

0赞 Maya Eldar 5/24/2022
TNX!实际上,我把表格作为一个例子,但在我的数据中,名称和格式是匹配的。我的问题是关于 R 如何读取日期并从中进行统计......?比如,它是否将其用作连续变量?它是怎么知道的?它如何将日期转换为连续变量?还是将其用作分类变量?(这对我不好..)
0赞 Rui Barradas 5/24/2022
@MayaEldar 日期和日期时间变量被编码为来自原点的秒数,R 使用与 unix 相同的原点 1970-01-01。所以它们是一个连续变量 另见 ?as。POSIXct 用于其他软件程序使用的源。