Jak sloučit duplicitní řádky

0

Otázka

Mám datový rámec, který vypadá jako

Přezdívky Jména
Fonse, Fons Alfons
Fonse, Fonsi Alfons
Gustel, Gustl, Guste, Srpna
Baldi Balthasar
Hausl, Baldi Balthasar
Flore, Flori Florian

Chtěl bych sloučit duplicitní řádky, které mají být :

Přezdívky Jména
Fonse, Fons,Fonse, Fonsi Alfons
Gustel, Gustl, Guste, Srpna
Baldi, Hausl, Baldi Balthasar
Flore, Flori Florian

Byl jsem schopen vytvořit podmnožinu duplicitní, ale nevím, jak je kombinovat

nick2 <- subset(nick, any(duplicated(nick$Names)))

Zde jsou data jako csv soubor https://github.com/Garybertrand/nick

duplicates merge r
2021-11-23 21:00:24
3

Nejlepší odpověď

2

To by mělo vyřešit tvůj problém

library(data.table)
library(dplyr)

setDT(df)[, list(Nicknames = paste(Nicknames, collapse = ', ')), 
          by = c('Names')] %>%
  select(Nicknames,Names)

2021-11-23 21:23:55

Proč %>% and select? Pokud se vrátíte Nicknames v rámci každé skupiny Names pak už máte tyhle dvě proměnné vybrány.
thelatemail

Vyberte byl použit pro účely pořadí sloupců, aniž zvolte část Names bude bude prvním sloupci. To je zbytečné, pokud na pořadí sloupců nezáleží. Jen jsem si myslela, že finální výstup by měl mít sloupce ve stejném pořadí jako původní df.
Macosso
1

Můžete také použít základnu. R.

aggregate(Nicknames ~ Names, unique(df), paste, collapse = ", ")
2021-11-23 21:36:17
1

Krátké tidyverse řešením by mohlo být takhle:

library(tidyverse)

df %>% 
  group_by(Names) %>% 
  summarize(Nicknames = paste0(Nicknames, collapse = ", "))
2021-11-23 21:39:50

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................