Hallo allerseits,
ich bearbeite gerade mehrere Datensätze, die alle eine ähnliche Struktur haben.
Auf Ebene der Stadtteile 1 bis 4 liegen jeweils Werte vor und zusätzlich ist noch für jede Datenspalte der Wert für die gesamte Stadt angegeben (Stadtteil 0).
Für die weitere Arbeit möchte ich aber eine Zeile mit den Werten der nicht zuzuordnenden Datensätze anstelle der gesamtstädtischen Werte haben.
Dazu soll der fiktive Stadtteil 9 eingefügt werden und die Tabelle soll zum Schluss wie folgt aussehen:
Jetzt kaspere ich schon seit knapp zwei Stunden an dem Problem herum, habe es mit Filtern und Spaltensummen versucht, aber irgendwie sehe ich den Wald vor lauter Bäumen nicht mehr
Kann mir jemand einen guten Tipp geben, wie das funktionieren könnte?
Ich habe wieder mal das Gefühl, dass die Lösung quasi auf dem Präsentierteller vor mir liegt, ich sie aber trotzdem nicht sehe.
Schönen Gruß
Benne
Neue Zeile auf Basis gefilterter Daten berechnen
Neue Zeile auf Basis gefilterter Daten berechnen
Ein Freund ist jemand, der sich deinen Müll anhört, dir sagt dass es Müll ist und trotzdem weiter zuhört.
Robin Williams
Robin Williams
Re: Neue Zeile auf Basis gefilterter Daten berechnen
Hallo Benne,
ich wiederhole mich mal vom 8. Oktober:
Wenn nein, erläutere das bitte nochmal, was 9 bedeutet.
LG,
Bernhard
ich wiederhole mich mal vom 8. Oktober:
Ahne ich richtig, dass Stadteil 9 den Wert von Stadtteil 0 minus die Werte aller Stadtteile 1 bis 4 enthalten soll? Wenn ja, dann ist das hier vielleicht ein Anfang für Dich:Wenn nun fünf von uns sich an einer Lösung versuchen würden, was wäre besser: Wenn Du einen Beispieldatensatz zum Austesten bereit stellst oder wenn jeder von den Fünf sich seinen eigenen Beispieldatensatz erstellt? Eben. Darum poste bitte zu solchen Fragen, die im Grunde gern gesehen sind, ein reproduzierbares Beispiel,
Code: Alles auswählen
stadt1 <- data.frame(stadtteil = c(1,2,3,4,0),
einwohner = c(1000, 1000, 1000, 1000, 10000),
arbeitslose = c(5, 10, 15, 15, 45))
erstelle9 <- function(stadt, stadtteile = 1:4){
zeile9 <- 9
for(spalte in 2:ncol(stadt)){
zeile9[spalte] <- stadt[stadt$stadtteil==0, spalte] - sum(stadt[stadt$stadtteil %in% stadtteile, spalte])
}
return(rbind(stadt, zeile9))
}
erstelle9(stadt1)
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte