Seite 2 von 2

Re: Summierung nach Levelpaaren

Verfasst: Mi Nov 28, 2018 10:53 am
von jogo
FR1712 hat geschrieben: Mi Nov 28, 2018 10:34 am
Athomas hat geschrieben: Mi Nov 28, 2018 8:41 am Ohoh - wer hat Dir das böse Wort verraten?
Das haben wir in der Lehrveranstaltung so gelernt :roll:
o.k., dann ist es nicht Deine Schuld.
Leider hat es das Übel bis in Einführungsbücher über R geschafft :cry:
Hier im Forum haben wir es hier nochmal thematisiert: viewtopic.php?f=7&t=5
Wenn Du den Lehrenden von der attach()-Seuche kurieren möchtest (ich würde das sehr befürworten), dann zeige ihm das.
jogo hat geschrieben: Mi Nov 28, 2018 9:04 amDa muss ich wohl noch viel üben, aber ich habe ja bei Athomas jetzt gesehen, wie es geht.

Auf den ersten Blick scheint mir mit dem data.table Ansatz mein Problem gelöst. Das muss ich mir jetzt mal in Ruhe anschauen.
Du kannst darauf vertrauen, dass auch wir in unserer Anfangszeit des Programmierens genauso rumgegurkt haben. Übung ist das richtige Stichwort.
Der data.table-Code von Athomas ist schneller als meine Variante (ich habe beim benchmarking etwas über die Funktion colSums() gelernt).

noch eine Anmerkung:
wenn man Daten auswürfelt, empfiehlt sich der Einsatz von set.seed(...), damit jemand, der den Code laufen lässt, genau die gleichen Daten bekommt.

Gruß, Jörg

Re: Summierung nach Levelpaaren

Verfasst: Mi Nov 28, 2018 8:12 pm
von EDi
Hier noch eine dplyr Lösung, der vollständigkeit halber...

Code: Alles auswählen

library('dplyr')
set.seed(42)
df <- data.frame(
  Orte =rep(c("Berlin", "Hamburg", "München"), times = c(5,6,4)),
  Sorte =sample(c("Äpfel","Birnen","Pflaumen"), size = 15, replace = T),
  '2016' =sample(1:15, size = 15, replace = T),
  '2017' =sample(1:15, size = 15, replace = T),
  '2018' =sample(1:15, size = 15, replace = T))
df

df %>%
  group_by(Orte, Sorte) %>%
  summarise_all(sum)

Re: Summierung nach Levelpaaren

Verfasst: Mo Dez 03, 2018 3:01 pm
von Athomas
Bist Du damit zu Potte gekommen?