Mehrere Zeilen zu einer Zeile zusammenfassen

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

Moderatoren: EDi, jogo

Antworten
lxxa
Beiträge: 6
Registriert: Di Jun 27, 2023 12:09 pm

Mehrere Zeilen zu einer Zeile zusammenfassen

Beitrag von lxxa »

Hi :)

ich habe ungefähr folgenden Datensatz:

Code: Alles auswählen

data <- data.frame(
  code = c("AA","AA","BB","BB","CC","CC"),
  condition = c(1,2,1,2,1,2),
  result = c(6,7,3,4,7,7))
welcher wie folgt aussieht:

Code: Alles auswählen

code               condition             result      
AA                   1                           6                                    
AA                   2                           7                                    
BB                   1                           3                                    
BB                   2                           4                                    
CC                   1                           7                                   
CC                   2                           7         
Jeder Code steht für eine Versuchperson. Jede VP durchläuft also zwei Bedingungen, die ich in zwei verschiedenen Zeilen habe. Ich hätte aber gerne eine Zeile pro VP. Also dass es ungefähr so aus sieht:

Code: Alles auswählen

code               condition1             result1       condition2      result2      
AA                   1                           6                    2                  7                               
BB                   1                           3                    2                  4
CC                   1                           7                    2                  7                     
 


Wie ich neue Variablen an sich erstellen kann, weiß ich, aber ich weiß leider nicht, wie ich sie dann entsprechend füllen kann. Vielleicht kann mir ja hier jemand helfen :)

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

Re: Mehrere Zeilen zu einer Zeile zusammenfassen

Beitrag von bigben »

Hallo Ixxa,

herzlich willkommen im Forum. Es gibt verschiedene Möglichkeiten, das in R anzugehen. Ohne zusätzliche packages geht das mit dem reshape Kommando. In Deinem Musterbeispiel sind die Spalten condition1 und condition2 ja eigentlich überflüssig, weil sie immer das gleiche enthalten. Wir können das ohne sie lösen, z. B. so:

Code: Alles auswählen

data <- data.frame(
  code = c("AA","AA","BB","BB","CC","CC"),
  condition = c(1,2,1,2,1,2),
  result = c(6,7,3,4,7,7))

reshape(data, idvar = "code", timevar = "condition", direction = "wide")
#>   code result.1 result.2
#> 1   AA        6        7
#> 3   BB        3        4
#> 5   CC        7        7
Ansonsten scheinen die Funktionen pivot_wider und pivot_longer im Paket tidyR sehr beliebt zu sein oder auch melt und cast in data.table.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
lxxa
Beiträge: 6
Registriert: Di Jun 27, 2023 12:09 pm

Re: Mehrere Zeilen zu einer Zeile zusammenfassen

Beitrag von lxxa »

Vielen lieben Dank für die schnelle Antwort! :)
Antworten