Le formule sono una funzione molto utile delle funzioni statistiche e grafiche di R. Come tutti, sono un utente di queste funzioni. Tuttavia, non ho mai scritto una funzione che accetta un oggetto formula come argomento. Mi chiedevo se qualcuno potesse aiutarmi, sia collegando un'introduzione leggibile a questo lato della programmazione R, sia dando un esempio autonomo.Formule in funzioni definite dall'utente in R
10
A
risposta
6
È possibile utilizzare model.matrix()
e model.frame()
per valutare la formula:
lm1 <- lm(log(Volume) ~ log(Girth) + log(Height), data=trees)
print(lm1)
form <- log(Volume) ~ log(Girth) + log(Height)
# use model.matrix
mm <- model.matrix(form, trees)
lm2 <- lm.fit(as.matrix(mm), log(trees[,"Volume"]))
print(coefficients(lm2))
# use model.frame, need to add intercept by hand
mf <- model.frame(form, trees)
lm3 <- lm.fit(as.matrix(data.frame("Intercept"=1, mf[,-1])), mf[,1])
print(coefficients(lm3))
che produce
Call: lm(formula = log(Volume) ~ log(Girth) + log(Height), data = trees)
Coefficients: (Intercept) log(Girth) log(Height)
-6.63 1.98 1.12
(Intercept) log(Girth) log(Height)
-6.632 1.983 1.117
Intercept log.Girth. log.Height.
-6.632 1.983 1.117
Problemi correlati
- 1. Trovare funzioni definite in una con: blocco
- 2. Funzioni SQLITE definite dall'utente in Lisp
- 3. doctest funzioni definite localmente
- 4. Elenco di variabili definite in R
- 5. Come sovraccaricare le funzioni definite dall'utente in Matlab?
- 6. Funzioni definite dall'utente con LessCSS?
- 7. Utilizzo di colonne con caratteri speciali nelle formule in R
- 8. Formule R e nomi dei coefficienti risultanti
- 9. Funzioni e provare() in R
- 10. Funzioni del generatore in R
- 11. Restituisce tutte le funzioni definite in un file Javascript
- 12. Dove inserire le funzioni definite dall'utente in Angular JS?
- 13. elenco di visualizzazione mysql delle funzioni definite dall'utente in phpmyadmin
- 14. Laravel: chiamata delle funzioni definite in base_controller dalla vista
- 15. Alternativa alle funzioni definite dall'utente in Google Cloud SQL
- 16. come caricare automaticamente le funzioni definite dall'utente in matematica
- 17. Come utilizzare le funzioni definite dall'utente SQL in .NET?
- 18. Trova funzioni definite esplicitamente in un modulo (python)
- 19. Le funzioni sono definite indipendentemente dall'ordine?
- 20. Gestione errori nelle funzioni definite dall'utente
- 21. Debug di funzioni definite dall'utente PostgreSQL
- 22. Groupby con funzioni definite dall'utente Panda
- 23. Le funzioni aggregate definite dall'utente più utili
- 24. Calling funzioni definite dall'utente con CREATE TABLE
- 25. Funzioni di bontà di adattamento in R
- 26. Ottimizzazione ristretta delle funzioni personalizzate in R
- 27. Passando funzioni in R come argomenti .Fortran
- 28. funzioni di tempo automaticamente sempre in R
- 29. Esportazione dei dati da R a Excel: formule non ricalcolare
- 30. R Funzioni di pipeline
Grazie, molto interessante. Capisco anche perché glmnet oi suoi pacchetti potrebbero non offrire questa funzionalità: utilizza una matrice sparsa nel pacchetto Matrix, che non può essere trattato con model.matrix(). – gappy