我正在尝试分析R中两个线性回归的差异(或缺少)。为此,我一直使用fANCOVA中的T.aov()函数;然而,这一次我要处理非常大的数据,而T.aov()需要花费几天时间才能运行。离截止日期不再有几天了……
有没有更有效的T.aov()等价物,或者使用T.aov()进行编码的更有效的方法?
我目前的表述相当简单:T.aov(x=data$descriptor, y=data$response, group=data$category, B=1)
使用虹膜的可重现示例:T.aov(x=iris$Sepal.Length, y=iris$Petal.Length, group=iris$Species,B=1)
发布于 2020-11-12 06:17:20
T.aov()实现了一种置换测试,非常适合违反参数假设的情况。虽然它减少了假设,但它对计算资源的消耗很大。如果您的数据集很大,并且您的计算资源有限,那么您应该折衷并使用参数版本(见下文):
library(fANCOVA)
data(iris)
spec = iris$Species
levels(spec) = 1:3
start_time <- Sys.time()
T.aov(x=iris$Sepal.Length, y=iris$Petal.Length, group= spec, B=200)
end_time <- Sys.time()
end_time - start_time # 0.8088191 secs
start_time <- Sys.time()
lm.mod = aov(iris$Petal.Length ~ iris$Sepal.Length + spec)
summary(lm.mod)
end_time <- Sys.time()
end_time - start_time # 0.005981207 secshttps://stackoverflow.com/questions/64794791
复制相似问题