Je veux trier les valeurs d'une colonne data.frame dans des classes prédéterminées, puis additionner des valeurs qui se trouvent dans les mêmes lignes, mais dans une colonne différente.Qu'est-ce que j'essaie de faire est de trier les éléments de colonne de données dans des chutiers en fonction d'une valeur, puis obtenir la somme d'une seconde valeur attachée aux éléments pour tous les éléments de la corbeille. Est-ce que quelqu'un peut m'aider?Comment collecter des données de ligne supplémentaires sur les données classées dans R
Mes données ressemble à ce
df =
Item valueX valueY
A 169849631 0.9086560
B 27612064 0.9298379
C 196651878 1.6516654
D 33007984 1.3397873
E 23019448 -0.2954385
F 54779712 -1.6888178
Mes bacs ressemble à ceci
Bins=
start end
1 249982
249983 499963
499964 749945
749946 999926
999927 1249907
1249908 1499889
Ce que je veux une trame de données qui ressemble à ceci (les valeurs hypothétiques en fréquence et colonnes sumvalueY)
resultsdf=
binstart binend frequency sumvalueY
1 249982 0 0
249983 499963 5 200
499964 749945 6 400
749946 999926 0 0
999927 1249907 12 30
1249908 1499889 0 0
Voici mon code (itération en cours)
Start = Bins[,1]
End = Bins[,2]
myfunction <- function(Start,End) {
sum(df$valueX >= Start & df$valueX < End, df[,2])}
Binssorted = mapply(myfunction, Start,End)
Cela a fonctionné parfaitement. Merci beaucoup pour la suggestion. J'utiliserai certainement dplyr et%>% dans le futur. C'est un opérateur très utile. – trenlo