Seite 1 von 1

Mehrere Zeilen anhand Spaltenwert zusammenfügen

Verfasst: Mo Okt 05, 2020 3:48 pm
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

Re: Mehrere Zeilen anhand Spaltenwert zusammenfügen

Verfasst: Mo Okt 05, 2020 4:00 pm
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