Skip to content

Instantly share code, notes, and snippets.

@symbolrush
Created April 13, 2016 05:55
Show Gist options
  • Select an option

  • Save symbolrush/2d7d7857511784f950d47320c9759d5a to your computer and use it in GitHub Desktop.

Select an option

Save symbolrush/2d7d7857511784f950d47320c9759d5a to your computer and use it in GitHub Desktop.
Einige Varianten für das Zählen von Einträgen mit einer gewissen Kategorie und das summieren von Werten gruppiert nach einer gewissen Kategorie.
# Testdaten
df <- data.frame(category = c(1,2,3,1,3,2,1), value = rep(10, 7))
# Variante 1:
# Falls du nur die Häufigkeit der Einträge der verschiedenen Kaetgorien brauchst:
table(df)
# value
# category 10
# 1 3
# 2 2
# 3 2
# Variante 2:
# Du brauchst die Summe der Einträge verschiedener categories:
aggregate(df$value, by = list(category=df$category), FUN = sum)
# category x
# 1 1 30
# 2 2 20
# 3 3 20
# Variante 3:
# Daselbe mit einer eleganteren Methode. Dafür brauchst du das dplyr package,
# welches du extra installieren musst, das sich aber immer mehr zum Standard für
# Datenmanipulationen mausert, da es extrem viele nützliche Funktionen und eine
# schöne Syntax hat.
library(dplyr)
df %>%
group_by(category) %>%
summarise(value = sum(value))
# Source: local data frame [3 x 2]
#
# category value
# (dbl) (dbl)
# 1 1 30
# 2 2 20
# 3 3 20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment