R 更有效的非参数ancova公式?

R 更有效的非参数ancova公式?,r,R,我试图分析R中两个线性回归的差异(或缺少)。我一直使用fANCOVA的T.aov()函数来实现这一点;然而,这次我处理的数据非常大,而T.aov()需要花费数天的时间才能运行。离截止日期还有几天了 是否有一种更有效的等效于T.aov()的方法,或者可能有一种更有效的方法使用T.aov()进行编码 我目前的表述相当简单:T.aov(x=data$descriptor,y=data$response,group=data$category,B=1) 使用iris的可复制示例:T.aov(x=iris

我试图分析R中两个线性回归的差异(或缺少)。我一直使用fANCOVA的T.aov()函数来实现这一点;然而,这次我处理的数据非常大,而T.aov()需要花费数天的时间才能运行。离截止日期还有几天了

是否有一种更有效的等效于T.aov()的方法,或者可能有一种更有效的方法使用T.aov()进行编码

我目前的表述相当简单:
T.aov(x=data$descriptor,y=data$response,group=data$category,B=1)

使用iris的可复制示例:
T.aov(x=iris$Sepal.Length,y=iris$Petal.Length,group=iris$SEPICES,B=1)
T.aov()执行置换测试,非常适合违反参数假设的情况。虽然它减少了假设,但它需要大量的计算资源。如果数据集较大且计算资源有限,则应折衷并使用参数化版本(见下文):

库(范科娃)
数据(iris)
spec=虹膜$物种
等级(等级)=1:3

谢谢你的建议,我理解你的论点。问题是,我的数据确实违反了参数假设,而对于800万行,这些违反的严重性相当严重。我是否应该从中得出这样的结论:没有更有效的方法通过非参数化实现这一点?也许您可以转换数据以减轻违规行为?日志转换,sqrt?
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 secs