Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-19%
Le deal à ne pas rater :
PC portable MSI Gaming Pulse 16” -Ultra7 155H -16Go/512 Go
1299 € 1599 €
Voir le deal

Fonction apply

2 participants

Aller en bas

Fonction apply Empty Fonction apply

Message par Komine Mar 23 Juil 2013 - 11:39

Bonjour,
J’ai une matrice de 140 lignes. Avec le code ci-dessous, je peux calculer les moyennes de chaque colonne.
Code:
X <- matrix
apply(X,MARGIN=2,FUN=mean)
Mais comment je peux calculer la moyenne de chaque colonne toujours après chaque 10 lignes, ainsi je devrais avoir 14 moyennes.
Merci d’avance.

Komine

Nombre de messages : 78
Date d'inscription : 02/06/2010

Revenir en haut Aller en bas

Fonction apply Empty Re: Fonction apply

Message par Nik Mar 23 Juil 2013 - 14:32

Tu veux dire calculer les 14 moyennes pour chacune des colonnes ?
si c'est ça :
Code:
mat <- matrix(rnorm(1400),nr=140)
fac <- gl(14,10)
moy <- rowsum(mat,group=fac)/10

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Fonction apply Empty Re: Fonction apply

Message par Nik Mar 23 Juil 2013 - 14:34

sinon avec apply :

Code:
apply(mat,2,function(x) tapply(x,fac,mean))

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Fonction apply Empty Re: Fonction apply

Message par Komine Mar 23 Juil 2013 - 15:26

Merci Nik de votre réponse.
Je pense que ma question manque de clarté.
Mes données se présentent comme ci-dessous: 1 seule colonne de valeurs. Je veux avoir la moyenne des 10 premières valeurs, puis la moyenne des 10 valeurs qui suivent, ainsi de suite.
N° var
1 0,910000
2 0,900000
3 0,870000
4 0,930000
5 0,990000
6 0,930000
7 0,940000
8 0,900000
9 0,990000
10 0,950000
11 0,740000
12 0,970000
13 0,970000
14 0,980000
15 0,980000
16 0,960000
17 0,980000
18 0,970000
19 0,930000
20 0,890000
21 0,830000
22 0,790000
23 0,800000
24 0,780000
25 0,760000
26 0,680000
27 0,770000
28 0,790000
29 0,910000
30 0,910000
31 0,930000
32 0,950000
33 0,970000
.... ............
.... ...........

Merci d'avance

Komine

Nombre de messages : 78
Date d'inscription : 02/06/2010

Revenir en haut Aller en bas

Fonction apply Empty Re: Fonction apply

Message par Nik Mar 23 Juil 2013 - 15:29

alors c'est encore plus simple. En reprenant l'objet fac définit précédemment:
Code:
tapply(var,fac,mean)
Tu as alors les moyennes 10 lignes par 10 lignes

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Fonction apply Empty Re: Fonction apply

Message par Komine Mar 23 Juil 2013 - 18:50

Nil, merci 1000 fois ça marche à merveille.

Komine

Nombre de messages : 78
Date d'inscription : 02/06/2010

Revenir en haut Aller en bas

Fonction apply Empty Re: Fonction apply

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum