子集数据框和应用测试

时间:2017-06-13 13:14:13

标签: r dplyr tidyr

我有一个包含两个列值的数据集,我想用Wilcoxon测试进行测试。

我需要应用测试过滤不同级别的日期,在某些预定义的时间间隔上应用测试。

这是我的代码:

library(dplyr)
library(lubridate)

set.seed(42)

df <- data.frame(matrix(rpois(n = 500, lambda = 12), ncol=2))
df$date <- sample(seq(as.Date('2017/01/01'), as.Date('2017/01/31'), by="day"), nrow(df), replace = TRUE)

# calculate endopoints 
endpoint_1 <- max(df$date) - weeks(1)

endpoint_2 <- max(df$date) - weeks(2)

# test endpoint 1

df %>%
  filter(date < endpoint_1 ) -> df1

wilcox.test(df1$X1, df1$X2)

# test endpoint 2

df %>%
  filter(date < endpoint_2 ) -> df2

wilcox.test(df2$X1, df2$X2)

我认为这是一种非常低效的方法。

如何在两个时滞过滤数据集并以更干净的方式访问测试结果?

0 个答案:

没有答案