Code R pour classer l'âge en groupe / poubelles / pauses
Je suis en train de classer l'âge dans le groupe afin de ne pas être continue. J'ai ce code:
data$agegrp(data$age>=40 & data$age<=49) <- 3
data$agegrp(data$age>=30 & data$age<=39) <- 2
data$agegrp(data$age>=20 & data$age<=29) <- 1
le code ci-dessus n'est pas de travail en vertu de la survie de l'emballage. Il me fait:
invalid function in complex assignment
Pouvez-vous m'indiquer où est l'erreur? data
est le dataframe je suis à l'aide.
source d'informationauteur leian
Vous devez vous connecter pour publier un commentaire.
Je voudrais utiliser
findInterval()
ici:Premier, font partie de l'échantillon de données
Utilisation
findInterval()
à classer les "âges" de vecteur.Sinon, comme recommandé dans les commentaires,
cut()
est également utile ici:Cette réponse fournit deux façons de résoudre le problème à l'aide de la
data.table
paquet, ce qui pourrait grandement améliorer la vitesse du processus. Ce point est crucial si l'on travaille avec les grands ensembles de données.1s Approche: une adaptation de la réponse précédente, mais maintenant, à l'aide de
data.table
+ y comprislabels
:2ème Approche: C'est un plus verbeux méthode, mais elle rend aussi plus claire de ce qu'est exactement tombe à l'intérieur de chaque groupe d'âge:
Bien que les deux approches devraient donner le même résultat, je préfère le 1er, pour deux raisons. (a) Il est plus court à écrire et (2) les groupes d'âge sont commandés de manière correcte, ce qui est crucial quand il s'agit de visualiser les données.
Disons que votre âge ont été stockées dans le dataframe colonne intitulée
age
. Votre dataframe estdf
et que vous voulez une nouvelle colonneage_grouping
contenant le "seau" que votre âge tomber dans.Dans cet exemple, supposons que votre âge variait de 0 -> 100, et que vous souhaitez les regrouper tous les 10 ans. Le code suivant devrait accomplir par le stockage de ces intervalles dans une nouvelle
age grouping
colonne: