J'ai une grande trame de données df, avec des colonnes nommées:Comment exécuter lm pour chaque sous-ensemble de la trame de données, puis agrémenter le résultat?
age, income, country
ce que je veux faire est très simpe en fait, faire
fitFunc<-function(thisCountry){
subframe<-df[which(country==thisCountry)];
fit<-lm(income~0+age, data=subframe);
return(coef(fit));
}
pour chaque pays. Ensuite, agréger le résultat dans une nouvelle trame de données ressemble à:
countryname, coeffname
1 USA 1.2
2 GB 1.0
3 France 1.1
J'ai essayé de le faire:
do.call("rbind", lapply(allRics[1:5], fitit))
mais je ne sais quoi faire.
Quelqu'un peut-il aider?
merci!
Je ne savais pas ... apparemment 'lm' a une option' subset': http://stackoverflow.com/questions/11328003/how-does-the-subset-argument-work- in-the-lm-function? rq = 1 Regardez les autres "liens connexes" à droite. – Frank
Et qu'est-ce qu'un problème? Petite astuce - ajouter une virgule à 'subframe <-df [qui (country == thisCountry),]', sinon cette ligne devrait renvoyer une erreur. – DrDom