0
votes

Comment calculer le montant total dépend de la date dans R?

Je suis nouveau à R et j'ai des problèmes de calcul du montant de la facture pour chaque mois. J'ai le fichier de données comme ci-dessous:

dat <- data.frame(
  time = factor(c("Breakfast","Breakfast","Breakfast","Breakfast","Breakfast","Breakfast"), levels=c("Breakfast")), date=c("2020-01-20","2020-01-21","2020-01-22","2020-02-10","2020-02-11","2020-02-12"),
  total_bill = c(12.7557,14.8,17.23,15.7,16.9,13.2)
)

r sum

0 commentaires

3 Réponses :


1
votes

Nous pouvons convertir la «date» à date de la classe , obtenez le mois et utilisez-le comme colonne de regroupement et somme le 'total_bill ' xxx

Nous pouvons le convertir en format "large", si cela est nécessaire xxx

si nous devons également regrouper "l'année" ' xxx


11 commentaires

Comment puis-je invoquer chaque somme de ces deux mois?


@ Ben10, il fait la somme séparément chaque mois. J'ai mis à jour avec la sortie que j'ai obtenue


Merci encore. Je veux te demander qcore? Comment pouvons-nous déménager pour discuter?


@ Ben10, vous pouvez utiliser la même salle de discussion la dernière fois. Pouvez-vous s'il vous plaît envoyé une invitation


Comment inviter? Je suis nouveau à cela.


Je ne sais pas comment inviter


@ Ben10 je suppose que vous pouvez utiliser la même pièce de cet autre post


Vous voudrez peut-être ajouter une année dans la clause de groupe_by afin que la solution fonctionne lorsque les données incluent les autres années. Donc, au lieu de, group_by (heure, mois = format (AS.Date (date), "% b"))%>% Utilisation group_by (heure, mois = format (AS.Date (date), "% Y-% B "))%>%>%


J'ai trouvé cette chambre maintenant mais comment vous inviter?


@ Ben10 Pouvez-vous montrer le lien vers cette pièce SSO que je peux entrer


chat.stackoverflow. com / chambres / 213534 / ...



0
votes
library(dplyr)
d_sum <- dat %>% 
  group_by(substr(date, 0, 7)) %>%
  summarise(sum = sum(total_bill))

d_sum
# A tibble: 2 x 2
  `substr(date, 0, 7)`   sum
  <chr>                <dbl>
1 2020-01               44.8
2 2020-02               45.8

3 commentaires

Comment puis-je accéder à chaque somme de chaque mois?


Je ne sais pas que je comprends, vous pouvez mettre la sortie dans une nouvelle data.frame, par exemple D_SUM (voir Mise à jour)


@ Ben10 d_sum ["2020-01"] vous donnera pour le 20 janvier et d_sum ["2020-02"] vous donnera pour le 20 février.



2
votes

Est-ce que cela répond à votre question? XXX PRE>

SUMS CODE> est une liste: Donc, si vous souhaitez accéder, par exemple, la donnée de février pour février, vous pouvez faire Ceci: p> xxx pré>

Vous pouvez également convertir des sums code> dans un fichier de données et accéder aux sommes mensuelles via les noms de mois: P>

tapply(dat$total_bill, sub("\\d{4}-(\\d{2})-\\d{2}", "\\1", dat$date), sum)
     01      02 
44.7857 45.8000  


2 commentaires

Mais comment puis-je accéder par exemple dat $ janvier ou dat $ février ?


Mise à jour de la réponse.