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.
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
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP