Les formules sont une fonctionnalité très utile des fonctions statistiques et graphiques de R. Comme tout le monde, je suis un utilisateur de ces fonctions. Cependant, je n'ai jamais écrit une fonction qui prend un objet de formule comme argument. Je me demandais si quelqu'un pouvait m'aider, soit en liant à une introduction lisible de ce côté de la programmation R, soit en donnant un exemple autonome.Formules dans des fonctions définies par l'utilisateur dans R
10
A
Répondre
6
Vous pouvez utiliser model.matrix()
et model.frame()
pour évaluer la formule:
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))
qui donne
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
Questions connexes
- 1. Utilisation des fonctions définies par l'utilisateur dans Entity Framework
- 2. Traitement des erreurs dans les fonctions définies par l'utilisateur
- 3. tsql fonctions définies par l'utilisateur
- 4. Fonctions d'ajustement dans R
- 5. Fonctions de ligne dans R
- 6. Entity Framework - Fonctions définies par le modèle
- 7. Comment utiliser les fonctions définies par l'utilisateur?
- 8. Liste des fonctions globales définies par l'utilisateur en JavaScript?
- 9. Fonctions définies par l'utilisateur SQL: Extraction des enregistrements TOP n dans une fonction définie par l'utilisateur
- 10. Les fonctions définies par l'utilisateur dans l'Automation se comportent différemment Excel 2007
- 11. Utilisation de fonctions définies dans d'autres fichiers MXML
- 12. IMAP activé, mais les fonctions non définies?
- 13. Filtrage des données dans R
- 14. La mise en forme conditionnelle Excel peut-elle utiliser des fonctions définies par l'utilisateur dans la condition?
- 15. Meilleure façon de déployer des fonctions définies par l'utilisateur sur plusieurs bases de données dans SQL 2005
- 16. Écrire des fonctions dans R, en gardant à l'esprit la portée
- 17. Traçage des données simples dans R
- 18. parser: l'analyse des formules dans les fichiers modèles
- 19. différence des paramètres binomiaux par R
- 20. Equivalent de "throw" dans R
- 21. Calcul de formules dans Excel avec Python
- 22. Comment utiliser les classes Java définies par l'utilisateur dans Matlab?
- 23. Fonctions définies par l'utilisateur SQL Server 2005 signalé incorrectement comme non déterministe?
- 24. Variables statiques dans R
- 25. Prendre plusieurs correspondances avec regex séparées par des marques définies
- 26. Configuration d'une servlet Spring avec des propriétés définies par sysadmin
- 27. Récupère toutes les fonctions définies pour un objet
- 28. Dans zsh, comment transmettre des tableaux anonymes dans des fonctions?
- 29. Date de SQL Formules
- 30. jQuery: Réglage des fonctions par page
Merci, très intéressant. Je comprends aussi pourquoi les paquets glmnet ou ther peuvent ne pas offrir cette capacité: il utilise une matrice fragmentée dans le paquet Matrix, qui ne peut pas être traitée avec model.matrix(). – gappy