problème avec la fonction by

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Ophélie Gilliéron
Messages : 3
Enregistré le : 19 Fév 2009, 16:49

problème avec la fonction by

Messagepar Ophélie Gilliéron » 19 Fév 2009, 17:02

Bonjour,
Je souhaite utiliser la fonction by(data, facteur, function(x)...) pour obtenir des résultats "par groupe". (pour traiter les interactions).
Or quand j'applique cette fonction, R me donne toujours le même résultat pour tous les groupes. (il me donne par exemple le même coefficient de corrélation pour les femmes et les hommes, qui correspond en réalité au coefficient de corrélation de toute ma population sans tenir compte du sexe).
Il ne me semble pas avoir fait de faute de syntaxe, est-ce que que quelqu'un a une idée de ce que j'ai pu faire faux??
Merci d'avance.

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 19 Fév 2009, 17:10

Bonjour,

Code : Tout sélectionner

tab <- data.frame(sexe = sample(c("F","H"),100,rep=TRUE), taille=rnorm(100,180,10), poids=rnorm(100,70,10))

by(tab,list(sexe=tab$sexe),function(x) with(x,cor(taille,poids)))


Maxime

Ophélie Gilliéron
Messages : 3
Enregistré le : 19 Fév 2009, 16:49

Merci

Messagepar Ophélie Gilliéron » 19 Fév 2009, 18:12

Merci Maxime.

Ma syntaxe était correcte, mais je crois que j'ai compris ce qui ne va pas. Les deux variables entre lesquelles je voulait une corrélation sont des moyennes calculées à partir de variables de ma base de données. Elle n'existent donc pas en tant que telles dans la base de donnée, ce qui doit être la cause du dysfonctionnement de la fonction by. En effet, si je calcule cette moyenne directement dans ma base de données (sur excel), et que j'importe la base de données modifiée, ça marche bien.

Est-ce que quelqu'un sait comment je pourrais modifier ma base de données au fur et à mesure que je crée de nouvelles variables sur R?

Merci encore!

Aurélien Madouasse
Messages : 352
Enregistré le : 26 Fév 2007, 11:23

Messagepar Aurélien Madouasse » 20 Fév 2009, 09:53

Ca dépend du type de base de données que tu utilises.

http://stat.bell-labs.com/RS-DBI/index.html

Par exemple, RODBC a une fonction sqlUpdate qui doit pouvoir mettre à jour ta base de données.

Aurélien


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité