Groupe/bin/seau de données dans R et obtenir comte par seau et la somme des valeurs par seau
Je souhaite seau/groupe/bin données :
C1 C2 C3
49488.01172 0.0512 54000
268221.1563 0.0128 34399
34775.96094 0.0128 54444
13046.98047 0.07241 61000
2121699.75 0.00453 78921
71155.09375 0.0181 13794
1369809.875 0.00453 12312
750 0.2048 43451
44943.82813 0.0362 49871
85585.04688 0.0362 18947
31090.10938 0.0362 13401
68550.40625 0.0181 14345
Je veux seau en C2 valeurs, mais je tiens à définir les seaux par exemple <=0.005, <=.010, <=.014 etc. Comme vous pouvez le voir, l'écopage seront des intervalles irréguliers. Je veux le comte de C1 par seau ainsi que la somme totale de la C1 pour chaque seau.
Je ne sais pas par où commencer car je suis assez nouveau à un utilisateur de R. Est-ce que quelqu'un prêt à m'aider à comprendre le code ou directement à moi pour un exemple qui va travailler pour mes besoins?
EDIT: ajout d'une autre colonne C3. J'ai besoin de la somme de C3 par seau ainsi en même temps que somme et le nombre de C1 par seau
En général, lorsque vous traversez post il est considéré comme poli de laisser les gens savent que vous avez fait jusqu' talkstats.com/showthread.php/...
Merci Tyler, ce sont deux sites différents, donc je n'aurais pas pensé qu'il soit nécessaire
Avez-vous stilll souhaitez utiliser
Oui, C2 reste le regroupement de la variable
grâce akrun, intéressant de voir comment R est le traitement de la faire.instruction d'appel global. Maintenant que vous avez deux variables C1 et C3 être regroupées, le PLAISIR est toujours à l'aide d'un seul opérateur X au lieu de deux, pour les C1 et C3. Qu'est-ce que la logique ici?
Merci Tyler, ce sont deux sites différents, donc je n'aurais pas pensé qu'il soit nécessaire
Avez-vous stilll souhaitez utiliser
C2
que le regroupement de la variable?Oui, C2 reste le regroupement de la variable
grâce akrun, intéressant de voir comment R est le traitement de la faire.instruction d'appel global. Maintenant que vous avez deux variables C1 et C3 être regroupées, le PLAISIR est toujours à l'aide d'un seul opérateur X au lieu de deux, pour les C1 et C3. Qu'est-ce que la logique ici?
OriginalL'auteur Freewill | 2015-01-04
Vous devez vous connecter pour publier un commentaire.
Les commentaires, "C2" semble être le "caractère" de la colonne avec
%
comme suffixe. Avant, la création d'un groupe, supprimer la%
à l'aide desub
, de les convertir en "numérique" (as.numeric
). La variable "groupe" est créé (transform(df,...)
) à l'aide de la fonctioncut
avecbreaks
(groupe seaux/intervalles) etlabels
(pour les étiquettes de groupe) des arguments. Une fois la variable de groupe est créé, lesum
de la "C1" par "groupe" et le "nombre" d'éléments dans "groupe" peut être réalisé à l'aide deaggregate
de base "R"ou vous pouvez utiliser
data.table
.setDT
convertit ledata.frame
àdata.table
. Spécifier le "regroupement" variable avecby=
et de résumer/créer les deux variables "Nombre" et "Somme" dans lelist(
..N
donne le nombre d'éléments à l'intérieur de chaque "groupe".Ou à l'aide de
dplyr
. Le%>%
connecter le LHS avec RHS des arguments et des chaînes d'ensemble. Utilisationgroup_by
pour spécifier le "groupe" est variable, et ensuite utilisersummarise_each
ousummarise
pour obtenir résumé comte etsum
de la colonne concernée.summarise_each
serait utile si il y a plus d'une colonne.Mise à jour
En utilisant le nouveau dataset
df
et vous pouvez faire de
merge
comme détaillé ci-dessus.La
dplyr
approche serait la même à l'exception de la spécification de la variable supplémentairede données
Merci, j'ai juste essayé la première suggestion. C2 est en fait en pourcentage, donc quand j'ai mis % à la signature, dans des pauses=c(-Inf,0.005%,0.10%,0.014%,Inf), j'obtiens une erreur. Il fonctionne si % signe n'est pas utilisé. Aussi, après binning j'ai besoin de tracer ces données pour un histogramme. Comment puis-je représenter les catégories par exemple, l'un avec <=0.05 sera de 0,05, de <= .10 sera .10 etc.
c'est exact, akrun
akrun, merci. J'ai essayé le premier code et il semblait avoir fonctionné. Je vais vérifier la sortie de nouveau. Une chose que j'ai remarqué qu'elle fait est que si il n'y a pas de valeurs pour un bac, il omet que bin à partir de la sortie. J'aimerais avoir toutes les corbeilles, indépendamment de savoir si il existe des valeurs ou pas.
Vous pouvez créer un nouvel ensemble de données avec tous les niveaux de l'groupes et
merge
avec leres
. J'ai mis à jour le code. Si cela fonctionne, veuillez envisager d'accepter la solution en cliquant sur la coche.OriginalL'auteur akrun