Sto provando a scrivere un semplice algoritmo dei minimi quadrati iterativo reimpostato in R. Voglio passare una funzione come argomento per il calcolo dei pesi, ma purtroppo R si lamenta che la funzione non può Essere trovato. Qualche idea su cosa sto facendo male? Grazie in anticipo!R: funzione passata come argomento non trovata
Ecco il mio codice:
irls <- function(imodel, wfunc, tol) {
repeat {
b0 <- imodel$coef
imodel <- lm(formula(imodel), weights=wfunc(imodel), data=imodel$model)
b1 <- imodel$coef
if(abs((b1-b0)/b0)<=tol) break
}
imodel
}
e un esempio stupido per dimostrare il problema
x <- 1:100
y <- x + rnorm(100)
mlm <- lm(y~x-1)
irls(mlm, function(x){rep(1,length(x$fit))},0.001) # error: wfunc not found
Strano. Sembra che il problema sia in 'lm'. Quando cerca di trovare la funzione nella seguente riga: 'mf <- eval (mf, parent.frame())' – nograpes
Può aiutare: http://stackoverflow.com/questions/7027288/error-could-not- find-function-in-r – Fernando
Penso che sia meglio definire prima la funzione. 'wfunc <-function (x) {rep (1, length (x $ fit))}' seguito da 'irls (mlm, wfunc, 0.001)' –