也许是微不足道的,但我正在尝试解决这个问题:
我必须数据框,一个有 25 列,另一个有 9 列。现在,我需要做的是拟合多项式方程,其中我的因变量在 25 列的数据框中,而我的自变量在 9 列的数据框中。目前,我将这些列组合在一起并创建了一个名为“my.data”的数据框,因此我当时使用一个自变量遍历因变量。但是,我想自动执行循环中的函数 25 * 9 次。有没有办法做到这一点?
setwd("C:\\......")
my.data <- read.table("MyData.txt", header = TRUE, sep = "\t")
for(i in seq_along(my.data))
{
fit1b <- lm(my.data[ ,i] ~ my.data$V1)
fit2b <- lm(my.data[ ,i] ~ poly(my.data$V1, 2, raw=TRUE))
fit3b <- lm(my.data[ ,i] ~ poly(my.data$V1, 3, raw=TRUE))
poly1 <-capture.output(summary(fit1b))
poly2 <-capture.output(summary(fit2b))
poly3 <-capture.output(summary(fit3b))
con = file(description = "MyResults.txt", open="a")
write.table(poly1, file= con, append = TRUE, quote=F, col.names=FALSE, row.names= F)
write.table(poly2, file= con, append = TRUE, quote=F, col.names=FALSE, row.names= F)
write.table(poly3, file= con, append = TRUE, quote=F, col.names=FALSE, row.names= F)
close(con)
}