Re: Condition abhängige Summation
Verfasst: Do Mai 16, 2019 1:49 pm
Hi!
Der Code sieht doch ganz sauber aus.
Als Softwareentwickler mit dieser Art von Problem ist es für Dich vielleicht interessant zu hören, dass man mit einem Zusatzpaket SQL in R einbinden kann, sodass sich solche "Zusammenfassungsprobleme" auch direkt in SQL formulieren lassen, ohne dass man R verlassen muss: https://www.r-bloggers.com/make-r-speak-sql-with-sqldf/
LG,
Bernhard
Der Code sieht doch ganz sauber aus.
Wenn ich das richtig lese, wird es etwas lesbarer mit unique alsCode: Alles auswählen
data_manyDeathsCause = data_manyDeaths$Cause # remove duplicated causes data_manyDeathsCause = data_manyDeathsCause[!duplicated(data_manyDeathsCause)]
Code: Alles auswählen
data_manyDeathsCause <- unique(data_manyDeaths$Cause)
Von C kommend ist Dir natürlich klar, dass man viele Funktionsaufrufe miteinander verschachteln kann, sodass sie zwar in weniger Zeilen passen, die Lesbarkeit aber sinkt (bei C gerne auch gegen Null). Du hast das so schön lesbar gecoded, dass Du da nicht hin willst.Vielleicht kann man z.B. die Schleife einfach in einer Zeile hinschreiben![]()
Da zeichnet sich natürlich ein Muster ab, dass man in R vielleicht eher mit einer Funktion höherer Ordnung als mit einer for-Schleife angehen würde. Also den Inhalt des Schleifenblocks in eine Funktion packen und dann beispielsweise mit by() (oder tapply für einzelne Spalten) aufrufen. Solange man nicht an Performance-Grenzen stößt, spricht aber überhaupt nichts gegen for-Schleifen.Code: Alles auswählen
for (cause_val in data_manyDeathsCause) { # get data by cause res_tmp = subset(result, result$Cause == cause_val)
Als Softwareentwickler mit dieser Art von Problem ist es für Dich vielleicht interessant zu hören, dass man mit einem Zusatzpaket SQL in R einbinden kann, sodass sich solche "Zusammenfassungsprobleme" auch direkt in SQL formulieren lassen, ohne dass man R verlassen muss: https://www.r-bloggers.com/make-r-speak-sql-with-sqldf/
LG,
Bernhard