Mehrere Zeilen anhand Spaltenwert zusammenfügen

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
nala
Beiträge: 3
Registriert: Do Okt 01, 2020 6:40 pm

Mehrere Zeilen anhand Spaltenwert zusammenfügen

Beitrag von nala »

Hallo Leute,

ich habe eine (vermutlich ziemlich einfache) Frage, und zwar habe ich eine Spalte mit Text und eine Spalte mit Daten, in etwa so:

Code: Alles auswählen

text <- c("Ich mag Äpfel.", "Ich mag Birnen.", "Es regnet.", "Es ist bewölkt.")
date <- ymd(c("2020-03-01", "2020-03-01", "2020-03-02", "2020-03-02"))
d1 <- data.frame(
        text,
        date,
        stringsAsFactors = TRUE
)
Nun würde ich gerne die Zeilen zusammenfügen, sodass ich für ein Datum nur eine Zeile habe und in der Text Zeile die Sätze für das gleiche Datum einfach hintereinander stehen, sodass es so aussieht:

Code: Alles auswählen

text2 <- c("Ich mag Äpfel. Ich mag Birnen", "Es regnet. Es ist bewölkt.")
date2 <- ymd(c("2020-03-01", "2020-03-02"))
d2 <- data.frame(
        text2,
        date2,
        stringsAsFactors = TRUE
)
Welche Funktion kann ich dafür nutzen?

Viele Grüße,
Nala
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mehrere Zeilen anhand Spaltenwert zusammenfügen

Beitrag von jogo »

Hallo Nala,

Code: Alles auswählen

library("lubridate")

d1 <- data.frame(
  text = c("Ich mag Äpfel.", "Ich mag Birnen.", "Es regnet.", "Es ist bewölkt."),
  date = ymd(c("2020-03-01", "2020-03-01", "2020-03-02", "2020-03-02")),
  stringsAsFactors = TRUE
)

aggregate(text ~ date, data=d1, FUN=paste, collapse="#")
Gruß, Jörg
Antworten