Seite 1 von 1

Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Verfasst: Fr Mai 10, 2019 10:25 am
von Bianka
Hallo Zusammen,

ich sitze nun schon ewig an meinem Problem. Ich hoffe ihr könnt mir weiterhelfen..

Ich möchte eine Umfrage auswerten mit 1028 obs. und 71 Variablen.

5 der Variablen enthalten Geldbeträge, die die Befragten selbst eintragen durften. Ich möchte nun eine Variable erstellen, die die Summe dieser Variablen - also einen Geldbetrag über die Summe der einzelnen Variablen - enthält. Ist das möglich?

Und: Die Spalten enthalten teilweise NA, da die Befragten hier nichts eingetragen haben, kann/muss ich das hier durch eine Null ersetzen?

Vielen Dank schon mal!

Bianka

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Verfasst: Fr Mai 10, 2019 10:51 am
von EDi
Da du leider kein reproduktives Beispiel an deine Frage angehängt hast, musste ich eins erstellen.

Hier ein Beispiel wie man das machen könnte:

Code: Alles auswählen

# some data
df <- iris[1:3, ]
df$Sepal.Length[2] <- NA
df

# simple sum
df$sum_sepal1 <- df$Sepal.Length + df$Sepal.Width
df$sum_sepal2 <- with(df, Sepal.Length + Sepal.Width)
library(dplyr)
df <- df %>%
  mutate(sum_sepal3 = Sepal.Length + Sepal.Width)
df

# NA as zeros
df2 <- df
# replace NA in whole data.frame
df2[is.na(df2)] <- 0
df2$sum_sepal2 <- with(df2, Sepal.Length + Sepal.Width)
df2
Und: Die Spalten enthalten teilweise NA, da die Befragten hier nichts eingetragen haben, kann/muss ich das hier durch eine Null ersetzen?
Kommt drauf an. Wenn du die "summe aller angegebenen Geldwerte" haben willst ist das legitim. Ansonsten gibt dir R NA zurück. Man könnte aber auch einen anderen Wert für NAs annehmen, falls das irgendwie Sinn macht.

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Verfasst: Fr Mai 10, 2019 11:04 am
von Bianka
Danke für deine schnelle Antwort, leider hab ich das gerade nicht so ganz verstanden, vielleicht dann doch mit meinem Beispiel.

Zu meinem Beispiel:

q_002.1 q_002.2 q_002.3 q_002.4 ....
1 500 200 NA 7
2 0 80 700 90
3 NA 49 22 1
4
5
...
1028

Die Spalten q_002.x möchte ich addieren zu einer Summenzeile und die NA (die in jeder der q_002.x Spalten vorkommen durch eine Null ersetzen)

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Verfasst: Fr Mai 10, 2019 11:39 am
von bigben

Code: Alles auswählen

bsp <- data.frame(q_002.1 = c(500, 0, NA, 1),
                  q_002.2 = c(200, 80, NA, 1),
                  q_002.3 = c(NA, 700, 22, 1),
                  blubb = c(NA, NA, NA, 1000))

bsp$summe <- rowSums(bsp[,c("q_002.1", "q_002.2", "q_002.3")], na.rm = TRUE)

print(bsp)
So? Dabei bleiben die NA in den Spalten erhalten, aber beim Summieren werden sie nicht mitgezählt.

LG,
Bernhard

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Verfasst: Fr Mai 10, 2019 12:30 pm
von Bianka
PERFEKT!!! Tausend-Dank :) :)

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Verfasst: Fr Mai 10, 2019 12:53 pm
von jogo

Code: Alles auswählen

replicate(1000, print("Dank"))
:mrgreen:

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Verfasst: Fr Mai 10, 2019 3:15 pm
von bigben
@jogo: Wer hat denn Zeit, sich daran die Finger wund zu tippen?
rep('Dank',1e3)
@Biance: Freut mich.

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Verfasst: Fr Mai 10, 2019 9:52 pm
von jogo
auch nicht schlecht, chapeau! :D
bigben hat geschrieben: Fr Mai 10, 2019 3:15 pm @jogo: Wer hat denn Zeit, sich daran die Finger wund zu tippen?
rep('Dank',1e3)
@Biance: Freut mich.