簡體   English   中英

如何將我在R中的逐步回歸轉換為許多因變量的FOR循環

[英]How to convert my stepwise regression in R into a FOR loop for many dependent variables

我目前有工作代碼,它使用3階多項式回歸分析許多x和1 y。 然后,它使用逐步回歸來找出哪個x的選擇最小化該y的AIC。

但是,我想添加更多的y並使用for循環來找到每個y的最小AIC,然后讓它告訴我哪個y具有最小AIC。

我目前的工作代碼:

SPdata <- read.csv(file.choose(), header=T,sep=",")

REG1 <- lm(Y1~poly(X1, 3)+poly(X2, 3)+poly(X3, 3), SPdata)

summary(REG1)

n <- length(resid(REG1))

REG2 = step(REG1, direction = "backward", k = log(n))

summary(REG2)

coefficients(REG2)

我也做了這個for循環,輸出3 y的多元回歸,但我不知道如何包含逐步回歸部分:

SPdata <- read.csv(file.choose(), header=T,sep=",")

varnames <- names(SPdata)[1:3]

REG3 <- lapply(varnames,

FUN=function(x) lm(formula(paste(x, "~poly(X1, 3)+poly(X2, 3)")), SPdata))

names (REG3) <- varnames

謝謝您的幫助!

您可以創建並命名您的函數,然后在apply使用它。

myRegression <- function(y){

  myReg1 <- lm(formula(paste(y, "~poly(X1, 3)+poly(X2, 3)")), SPdata))
  n      <- length(resid(myReg1))
  myReg2 <- step(MyReg1, direction = "backward", k = log(n))
  ...
}

myReg3 <- lapply(varnames, FUN = function(x) myRegression(x))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM