TransWikia.com

Eliminar duplicados de columna ID pero mantener valores en nuevas columnas en R

Stack Overflow en español Asked by Aday Hernández on December 16, 2020

Tengo este data.frame:

c_dupli <- data.frame(id=c(1,1,2), value=c(10,20,30))

Mi intención es dejar los id únicos, pero mantener los value diferentes en otra/s columna/s. El resultado esperado es el siguiente:

s_dupli <- data.frame(id=c(1,2), value1=c(10,30), value2=c(20,"NA"))

¿Alguna sugerencia? Gracias.

One Answer

Por ahora, la forma que se me ocurre es la siguiente:

library(data.table)
dcast(c_dupli, id ~ rowid(id, prefix = "value"), value.var = "value")

Usando reshape también podemos hacer esto:

# agregamos un numerador por grupo
c_dupli$num <- ave(c_dupli$id, c_dupli$id, FUN = seq_along)
reshape(c_dupli, idvar="id", timevar="num", direction="wide")

La salida en todos los casos es similar a esto:

  id value1 value2
1  1     10     20
2  2     30     NA

Saludos..

Answered by Patricio Moracho on December 16, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP