Split, 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

Serge Faye
Messages : 34
Enregistré le : 14 Mar 2007, 09:49

Split, By

Messagepar Serge Faye » 11 Mai 2011, 10:08

Bonjour,
J'ai beau cherché dans le site mais aucun résultat. Donc je viens vers vous.
J'ai la syntaxe suivante :

Code : Tout sélectionner

K_Pst <- cor.test(nbpst,annee, method="kendall")
n<- sapply(split(nbpst, lannee), sum)
v<- sapply(split(nbpst, lannee), var)
m<- sapply(split(nbpst, lannee), mean)

stat<-data.frame(n,v,sqrt(v),m)
names(stat)<-c("Nombre PST", "Variance", "Ecart Type", "Moyenne")
row.names(levels(lannee))
stat
K_Pst


Qui me permet d'avoir ce résultat:
Nombre PST Variance Ecart Type Moyenne
2001 3446 366.1887 19.13606 9.41530
2002 4006 424.5805 20.60535 10.62599
2003 4513 502.6239 22.41927 11.51276
2004 4844 639.0044 25.27854 12.58182
2005 4719 570.7927 23.89127 12.16237
2006 4778 482.3129 21.96162 11.62530
2007 5434 606.9497 24.63635 12.57870
2008 6129 621.4982 24.92987 12.95772
2009 6433 715.1240 26.74180 14.13846
> K_Pst

Kendall's rank correlation tau

data: nbpst and annee
z = 2.7283, p-value = 0.006366
alternative hypothesis: true tau is not equal to 0
sample estimates:
tau
0.03327581

1/J'aimerais savoir comment utiliser by, ou apply, disons une fonction qui me permet de sortir les résultat par modalités d'une variable comme le sexe ("Homme", Femme").
2/ Comment faire, pour récupérer uniquement par exemple ma p-value contenu dans mon objet K_Pst?
Par avance, je vous remercie.

Alexandre Dangléant
Messages : 270
Enregistré le : 30 Mar 2010, 14:38

Messagepar Alexandre Dangléant » 11 Mai 2011, 12:49

Bonjour,

1/ A priori avec un sapply ça devrait le faire

Code : Tout sélectionner

> sapply(levels(HF), function(x) sum(data[HF==x,])) # ac HF le facteur et data le tableau...


2/ Je ne sais pas pour ce test mais souvent c'est en rajoutant $p.val (en tout cas avec le t.test). Si tu veux voir tout ce qui est listé dans les résultats tu peux utiliser la fonction "str( )" sut ton objet-résultat.

Bonne journée!

Serge Faye
Messages : 34
Enregistré le : 14 Mar 2007, 09:49

Messagepar Serge Faye » 11 Mai 2011, 13:37

Peut être que j'ai mal exprimé mon problème.
J'ai un jeu de donnée avec les variables suivantes:
* sexe (Homme, Femme") comme factor
* annee comme integer
* pst comme integer
Je veux obtenir d'une part la correlation entre année et pst et d'autre par la corrélation par sexe.

Ma syntaxe est la suivante:

Code : Tout sélectionner

cor.test(nbpst,annee, method="kendall")


Question :
Comment intégrer by ou apply pour avoir la corrélation entre année et pst pour les hommes et pour les femmes?

Alexandre Dangléant
Messages : 270
Enregistré le : 30 Mar 2010, 14:38

Messagepar Alexandre Dangléant » 11 Mai 2011, 13:57

hmm, je me disais bien que je passai à coté de qqch. Donc, si j'ai bien compris:

Code : Tout sélectionner

>sapply(levels(sexe), function(x)cor.test(nbpst[sexe==x],annee[sexe==x], method="kendall"))
Là ça devrait le faire.

A+

Serge Faye
Messages : 34
Enregistré le : 14 Mar 2007, 09:49

Messagepar Serge Faye » 11 Mai 2011, 15:03

eh Oui ça le Fait.
Ca marche nikel
Merci beaucoup


Retourner vers « Questions en cours »

Qui est en ligne

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