Gibt es eine verfügbare Funktion, die diesen Code vereinfachen kann? Möchten den Anteil des sales
von product
in einer bestimmten week
seinen Gesamtumsatz weißbedingter Anteil/relative Frequenz in R
library(dplyr)
# Create data.frame
df <- tribble(
~week, ~product, ~sales,
1L, "A", 40,
1L, "B", 20,
2L, "A", 50,
2L, "C", 10
)
# Total sales
df_summ <- df %>%
group_by(product) %>%
summarise(total = sum(sales))
# Expected result
df_prop <- df %>%
inner_join(df_summ) %>%
mutate(prop = sales/total) %>%
select(-sales, -total) # optional
Ergebnis:
#> A tibble: 4 x 3
#> week product prop
#> <int> <chr> <dbl>
#> 1 A 0.444444
#> 1 B 1.000000
#> 2 A 0.555555
#> 2 C 1.000000
Sie können auch verwenden: 'df%>% mutieren (prop = Umsatz/sum (Umsatz))' – Brian
@ A5C1D2H2I1M1N2O1R2T1 ich den gewünschten Anteil falsch gelesen, du hast Recht. – Brian
Sie können auch verwenden: 'df%>% group_by (Produkt)%>% muate (prop = Umsatz/Summe (Umsatz))' – Brian