[R-es] aplanar campo multivalor en data frame

JCMld jcmld en carmonarocha.com
Lun Nov 17 16:36:58 CET 2014


Estimados todos,

 

Se me plantea el siguiente problema con un data frame: me viene un campo de
tipo string con múltiples líneas y quiero aplanar el data frame, de manera
que tenga una única línea en cada fila, repitiendo el campo identificador.
Me explico:

 

Tengo, por ejemplo, el siguiente data frame:

 

d<-data.frame(id=c(1,2,3,4),quien=c("Juan","Pedro\nMaria","Alberto","Luis\nE
lena\nJavier\nPaula"))

 

Lo que yo quiero obtener es un nuevo data frame que contenga:

 

id            quien

--            -------

1             Juan

2             Pedro

2             Maria

3             Alberto

4             Luis

4             Elena

4             Javier

4             Paula

 

Para separar los diferentes nombres he probado la función strsplit, que
funciona bien, pero no se me ocurre una manera fácil para obtener el nuevo
data frame sin recurrir a un bucle que puede resultar lento si el data frame
es grande.

¿Alguna idea?

 

Gracias y saludos,

Juan Carmona.

 


	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es