Stavo cercando di automatizzare un pezzo del mio codice in modo che la programmazione diventi meno noiosa. Fondamentalmente stavo provando a fare una selezione stepwise delle variabili usando fastbw()
nel pacchetto rms. Vorrei passare l'elenco delle variabili selezionate dal fastbw()
in una formula come y ~ x1+x2+x3
, "x1" "x2" "x3" essere l'elenco delle variabili selezionate da fastbw()
passando un vettore di variabili nella formula lm()
Ecco il codice ho provato e non ha funzionato
olsOAW0.r060 <- ols(roll_pct~byoy+trans_YoY+change18m,
subset= helper=="POPNOAW0_r060",
na.action = na.exclude,
data = modelready)
OAW0 <- fastbw(olsOAW0.r060, rule="p", type="residual", sls= 0.05)
vec <- as.vector(OAW0$names.kept, mode="any")
b <- paste(vec, sep ="+") ##I even tried b <- paste(OAW0$names.kept, sep="+")
bestp.OAW0.r060 <- lm(roll_pct ~ b ,
data = modelready,
subset = helper =="POPNOAW0_r060",
na.action = na.exclude)
Sono nuovo di R e non ha ancora seguito la curva di apprendimento ripida, quindi scusarsi per errori di programmazione ovvi. Qualsiasi aiuto è molto apprezzato
JJoran, grazie, ho ancora l'errore Prega di dare un'occhiata HPI <- pasta ("byoy", "change18m", "change24m", "change18m0", "change24m0", "lag3byoy", "lag3change18m" , "lag3change24m", "lag6byoy", "lag6change18m", "lag6change24m", "trans_YoY", sep = "+") hpi.form <- as.formula (incolla ("roll_pct ~", "hpi", sep = "")) lmNGC0.r060 <- lm (hpi.form, sottoinsieme = helper == "POPNOANGC0_r060", na.action = na.exclude, data = modelready) > Errore in model.frame.default (formula = come .formula (incolla ("roll_pct ~", "hpi",: lunghezza variabile diversa (trovata per 'hpi') – Anand
@ user1199861 Inserisci 'hpi' tra virgolette nella seconda riga. Digita' hpi.form' nella console e tu – joran
Joran, grazie ancora una volta, penso che lm() non stia forzando l'oggetto "hpi" nella formula come stringa di caratteri, ma quando ho provato a digitare le variabili nella formula lm(), ha funzionato – Anand