Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur

Le Deal du moment : -50%
-50% Baskets Nike Air Huarache Runner
Voir le deal
69.99 €

Agrégation et comptage de données

3 participants

Aller en bas

données - Agrégation et comptage de données Empty Agrégation et comptage de données

Message par leetong Dim 30 Juil 2017 - 19:05

Veuillez me pardonner d'avance si ma question peut sembler triviale.
J'ai actuellement un problème avec R que je n'arrive pas à résoudre.
Vous semblez très actif sur ce forum et j'espère pouvoir un jour m'en sortir.
Ainsi, j'ai une table contenant des dates et des chiffres et du texte. Ce texte représente une clef et peux apparaitre plusieurs fois.
J'aimerais effectuer un regroupement par période (mois, année) pour obtenir le nombre de clef différentes par période.
01/01/2017 cleA
01/02/2017 cleA
02/02/2017 cleB
03/02/2017 cleA
01/03/2017 cleB

Ainsi, j'aimerais obtenir
Janvier 1 (1 seule clé)
Février 2 (2 clé déférentes uniquement)
Mars 1

une variante serait comme un tableau croisé
Cle mois
cleA janvier
cleaB fevrier mars

merci par avance

leetong

Nombre de messages : 1
Date d'inscription : 30/07/2017

Revenir en haut Aller en bas

données - Agrégation et comptage de données Empty Re: Agrégation et comptage de données

Message par zezima Lun 31 Juil 2017 - 7:37

Bonjour,

Voici un petit code avec la fonction "substr" qui permet de sélectionner l'emplacement de ta chaine de caractère que tu veux copier (ici le mois et l'année) :

Code:
data=matrix(,4,3)
data[,1]=c("01/01/2017","01/03/2017","01/02/2017","01/01/2017")
data[,2]=c("A","A","B","B")
data[,3]=substr(data[,1],4,10)

Ensuite tu fais un "table" des deux variables qui t'intéressent :
Code:
table(data[,3],data[,2])
zezima
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

données - Agrégation et comptage de données Empty Re: Agrégation et comptage de données

Message par droopy Lun 31 Juil 2017 - 15:16

Bonjour,

avec les packages tidyr et dplyr (qui font partie de tidyverse) :
Code:
df <- structure(list(date = structure(c(1L, 2L, 4L, 5L, 3L), .Label = c("01/01/2017",
"01/02/2017", "01/03/2017", "02/02/2017", "03/02/2017"), class = "factor"),
    cle = structure(c(1L, 1L, 2L, 1L, 2L), .Label = c("cleA",
    "cleB"), class = "factor")), .Names = c("date", "cle"), class = "data.frame", row.names = c(NA,
-5L))

df %>% separate(date, into = c("jour", "mois", "annee"), sep = "/") %>%
  group_by(annee, mois) %>% summarise(N = n_distinct(cle))

# avec xtabs :
 xtabs( ~ cle +  mois, df %>% separate(date, into = c("jour", "mois", "annee"), sep = "/"))
cdlt
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

données - Agrégation et comptage de données Empty Re: Agrégation et comptage de données

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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