Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
Bianka
Beiträge: 3
Registriert: Fr Mai 10, 2019 10:18 am

Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Beitrag von Bianka » Fr Mai 10, 2019 10:25 am

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

Benutzeravatar
EDi
Beiträge: 821
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Beitrag von EDi » Fr Mai 10, 2019 10:51 am

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.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.

Bianka
Beiträge: 3
Registriert: Fr Mai 10, 2019 10:18 am

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Beitrag von Bianka » Fr Mai 10, 2019 11:04 am

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)

bigben
Beiträge: 908
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Beitrag von bigben » Fr Mai 10, 2019 11:39 am

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
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

Bianka
Beiträge: 3
Registriert: Fr Mai 10, 2019 10:18 am

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Beitrag von Bianka » Fr Mai 10, 2019 12:30 pm

PERFEKT!!! Tausend-Dank :) :)

jogo
Beiträge: 1341
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Beitrag von jogo » Fr Mai 10, 2019 12:53 pm

Code: Alles auswählen

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

bigben
Beiträge: 908
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Beitrag von bigben » 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.
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

jogo
Beiträge: 1341
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mehrere Spalten addieren und eine Ergebnissspalte erstellen

Beitrag von jogo » Fr Mai 10, 2019 9:52 pm

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.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste