Tabelle umformen
Tabelle umformen
Hallo,
vorweg: ich bin totale R Anfängerin.
Ich habe für meine Projektarbeit einen Data.frame mit verschiedenen Namen und Geburtsdaten in 2 Spalten. Mehrere Personen haben die gleichen Geburtsdaten.
Nun will ich die Tabelle so umformen, dass nurnoch 1 Geburtsdatum pro Zeile auftaucht und dahinter alle Namen aufgelistet sind die dazu passen.
Steh jetzt aber total auf dem Schlauch wie ich das anfange.
Danke schonmal.
vorweg: ich bin totale R Anfängerin.
Ich habe für meine Projektarbeit einen Data.frame mit verschiedenen Namen und Geburtsdaten in 2 Spalten. Mehrere Personen haben die gleichen Geburtsdaten.
Nun will ich die Tabelle so umformen, dass nurnoch 1 Geburtsdatum pro Zeile auftaucht und dahinter alle Namen aufgelistet sind die dazu passen.
Steh jetzt aber total auf dem Schlauch wie ich das anfange.
Danke schonmal.
Re: Tabelle umformen
Hallo Zinbu,
willkommen im Forum!
Kannst Du uns bitte die Struktur Deines Dataframes zeigen, also den output von
Gruß, Jörg
willkommen im Forum!
Kannst Du uns bitte die Struktur Deines Dataframes zeigen, also den output von
Code: Alles auswählen
str(DeinDataframe)
Gruß, Jörg
Re: Tabelle umformen
so siehts am Anfang aus
Code: Alles auswählen
> str(projekt)
'data.frame': 30 obs. of 3 variables:
$ name : chr "Paul" "Otto" "Gabi" "Konrad" ...
$ dat : chr "18.1.1959" "27.5.1972" "6.2.1974" "16.7.1969" ...
$ quart: num 1 2 1 3 3 3 2 2 4 3 ...
Re: Tabelle umformen
Hilft das?
LG,
Bernhard
Code: Alles auswählen
projekt <- data.frame(name = c("Paul", "Otto", "Gabi", "Konrad", "Steffi"),
dat = c("18.1.1959", "27.5.1972", "6.2.1974", "18.1.1959", "6.2.1974"),
stringsAsFactors = FALSE)
tapply(projekt$name, projekt$dat, c)
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Tabelle umformen
oder so:
(Beispieldaten von Bernhard)
Gruß, Jörg
Code: Alles auswählen
tapply(projekt$name, projekt$dat, paste0, collapse="; ")
(Beispieldaten von Bernhard)
Gruß, Jörg
Re: Tabelle umformen
Super, vielen Dank! Das bringt mich schonmal weiter
Ich würde die Namen nur noch gerne nicht nur als Liste hinter den Daten haben, sondern jeden Namen weiterhin in einer einzelnen Spalte haben, um sie danach weiter zu filtern usw..
Ich würde die Namen nur noch gerne nicht nur als Liste hinter den Daten haben, sondern jeden Namen weiterhin in einer einzelnen Spalte haben, um sie danach weiter zu filtern usw..
Re: Tabelle umformen
Code: Alles auswählen
projekt <- data.frame(name = c("Paul", "Otto", "Gabi", "Konrad", "Steffi"),
dat = c("18.1.1959", "27.5.1972", "6.2.1974", "18.1.1959", "6.2.1974"),
stringsAsFactors = FALSE)
aggregate(name ~ dat, data=projekt, FUN=paste0, collapse='; ')
Re: Tabelle umformen
Perfekt
Noch eine letzte Frage
Die Daten enthalten auch Mehrfachnennungen von Namen.
Wie bekomme ich es hin, dass pro Zeile keine doppelten mehr zu sehen sind
bis jetzt ist es ca so
1.1.2000 - Klaus,Dieter,Dieter,Alex
2.2.2000 - Klaus,Kathrin
3.3.2000 - Moni,Moni,Moni
Soll dann so ca. aussehen:
1.1.2000 - Klaus,Dieter, Alex
2.2.2000 - Klaus, Kathrin
3.3.2000 - Moni
Danke euch!
Noch eine letzte Frage
Die Daten enthalten auch Mehrfachnennungen von Namen.
Wie bekomme ich es hin, dass pro Zeile keine doppelten mehr zu sehen sind
bis jetzt ist es ca so
1.1.2000 - Klaus,Dieter,Dieter,Alex
2.2.2000 - Klaus,Kathrin
3.3.2000 - Moni,Moni,Moni
Soll dann so ca. aussehen:
1.1.2000 - Klaus,Dieter, Alex
2.2.2000 - Klaus, Kathrin
3.3.2000 - Moni
Danke euch!
Re: Tabelle umformen
Code: Alles auswählen
aggregate(name ~ dat, data=projekt, FUN=function(x) paste0(unique(x), collapse='; '))