2017-08-20 4 views
0

Je pense que je suis déjà à mi-ce que je veux faire en utilisant (juste besoin d'un peu d'aide pour faire la deuxième partie):attribuer un niveau de facteur lorsque les contraintes sont réunies en R

clients[which(clients$Age >= 18 & clients$Age <= 24),] 

Cette groupe tout le monde de 18 ans à 24 ans (inclusivement) et liste toutes les lignes qui correspondent dans mon cadre de données. Je veux juste aller un peu plus loin et affecter chaque ligne qui correspond à cette contrainte avec un niveau d'une variable factorielle; Dites "je". Et puis tout le monde de 25 à 34 peut faire partie de 'II', 35-44 partie de 'III', etc., etc.

Le but ultime est de me faciliter la tâche de tracer la fréquence à partir de différents âges. les groupes les uns à côté des autres - j'ai envie de les faire chacun des niveaux uniques dans une variable factorielle serait un bon début.

Des idées?

Répondre

3

Vous pouvez utiliser cut pour spécifier plusieurs niveaux à la fois:

cut(clients$Age, 
    breaks = c(18, 25, 35, 45), 
    include.lowest = TRUE, 
    labels = c("I", "II", "III")) 

Un exemple, en utilisant tout entier entre 18 et 45.

cut(seq.int(18, 45, 1), 
    breaks = c(18, 25, 35, 45), 
    include.lowest = TRUE, 
    labels = c("I", "II", "III")) 
[1] I I I I I I I I II II II II II II II II II II III III III III 
[23] III III III III III III 
Levels: I II III 
+0

EXACTEMENT ce que je avais besoin, grâce un compagnon de groupe! – Troy

+0

Pas de soucis! Juste pour le compte rendu, vous étiez en effet «à mi-chemin» de ce que vous vouliez, «couper» est juste un joli raccourci (je me tue) pour y arriver. – rosscova