Hola. Tengo la matriz adjunta, en un formato incómodo (dos columnas).- Quisiera ordenarla, tal que resulten 9 variables (columnas) con los siguientes valores, que actualmente están en la V1, repetidos 21 veces: Leading Companies Sales (M AR$) Market % Total Growth Mature Portf New Products Extensions Leading Lógicamente, en los filas quisiera los valores que actualmente están en la V2.- ?No logro ver cómo hacer con gather() o spread() de ?tidyr... y supongo que es un problema "común" que debe tener una solución empaquetada para hacer de una vez. ?Muchas gracias.? -- Mauricio ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20161006/c996008a/attachment.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: Leading Companies.csv Type: text/csv Size: 2853 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20161006/c996008a/attachment.bin>
con el paquete data.table> datos=fread("Leading Companies.csv") > datos[,rango:=rep(0:20,each=8)] > dcast(datos,rango~V1,value.var="V2")rango Companies Extensions Leading Market % Mature Portf New Products Sales (M AR$) Total Growth 1: 0 Total Market 4% 0 100% 23% 5% 67.431 32% 2: 1 Roemmers 2% 1 9,10% 29% 2% 6.135 33% 3: 2 Bago 3% 2 4,70% 25% 4% 3.182 32% 4: 3 Casasco 1% 3 4,50% 30% 6% 3.023 38% 5: 4 Elea 6% 4 4,40% 23% 6% 2.976 35% 6: 5 Gador 4% 5 4,40% 23% 2% 2.950 29% 7: 6 Raffo 2% 6 3,90% 30% 4% 2.629 35% 8: 7 Baliarda 3% 7 3,90% 36% 5% 2.611 44% 9: 8 Montpellier 2% 8 3,50% 33% 5% 2.367 41% 10: 9 Bayer 7% 9 3,50% 21% 2% 2.340 31% 11: 10 Ivax 3% 10 2,70% 19% 1% 1.828 23% 12: 11 GSK Ph 0% 11 2,60% 25% 4% 1.762 29% 13: 12 Pfizer 11% 12 2,60% 15% 0% 1.720 26% 14: 13 Sanofi 1% 13 2,50% 28% 2% 1.690 31% 15: 14 Investi 1% 14 2,50% 31% 2% 1.656 34% 16: 15 Boehringer Ing 7% 15 2,30% 23% 3% 1.519 34% 17: 16 Bernabo 1% 16 2,20% 29% 2% 1.505 32% 18: 17 Andromaco 8% 17 2,10% 32% 1% 1.384 41% 19: 18 Novo Nordisk 2% 18 1,80% 23% 19% 1.243 43% 20: 19 Novartis Ph 1% 19 1,80% 15% 2% 1.217 19% 21: 20 AZ 1% 20 1,80% 27% 5% 1.198 33% rango Companies Extensions Leading Market % Mature Portf New Products Sales (M AR$) Total Growth>Un saludo. Olivier De: "Mauricio Monsalvo" <m.monsalvo en gmail.com> Para: "r-help-es" <r-help-es en r-project.org> Enviados: Jueves, 6 de Octubre 2016 14:40:19 Asunto: [R-es] Ordenar matriz de datos Hola. Tengo la matriz adjunta, en un formato incómodo (dos columnas).- Quisiera ordenarla, tal que resulten 9 variables (columnas) con los siguientes valores, que actualmente están en la V1, repetidos 21 veces: Leading Companies Sales (M AR$) Market % Total Growth Mature Portf New Products Extensions Leading Lógicamente, en los filas quisiera los valores que actualmente están en la V2.- ?No logro ver cómo hacer con gather() o spread() de ?tidyr... y supongo que es un problema "común" que debe tener una solución empaquetada para hacer de una vez. ?Muchas gracias.? -- Mauricio _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
Muchas gracias, Olivier! Un abrazo. El 6 de octubre de 2016, 11:16, Olivier Nuñez <onunez en unex.es> escribió:> con el paquete data.table > > datos=fread("Leading Companies.csv") > > datos[,rango:=rep(0:20,each=8)] > > dcast(datos,rango~V1,value.var="V2") > > rango Companies Extensions Leading Market % Mature Portf New > Products Sales (M AR$) Total Growth > 1: 0 Total Market 4% 0 100% > 23% 5% 67.431 32% > 2: 1 Roemmers 2% 1 9,10% > 29% 2% 6.135 33% > 3: 2 Bago 3% 2 4,70% > 25% 4% 3.182 32% > 4: 3 Casasco 1% 3 4,50% > 30% 6% 3.023 38% > 5: 4 Elea 6% 4 4,40% > 23% 6% 2.976 35% > 6: 5 Gador 4% 5 4,40% > 23% 2% 2.950 29% > 7: 6 Raffo 2% 6 3,90% > 30% 4% 2.629 35% > 8: 7 Baliarda 3% 7 3,90% > 36% 5% 2.611 44% > 9: 8 Montpellier 2% 8 3,50% > 33% 5% 2.367 41% > 10: 9 Bayer 7% 9 3,50% > 21% 2% 2.340 31% > 11: 10 Ivax 3% 10 2,70% > 19% 1% 1.828 23% > 12: 11 GSK Ph 0% 11 2,60% > 25% 4% 1.762 29% > 13: 12 Pfizer 11% 12 2,60% > 15% 0% 1.720 26% > 14: 13 Sanofi 1% 13 2,50% > 28% 2% 1.690 31% > 15: 14 Investi 1% 14 2,50% > 31% 2% 1.656 34% > 16: 15 Boehringer Ing 7% 15 2,30% > 23% 3% 1.519 34% > 17: 16 Bernabo 1% 16 2,20% > 29% 2% 1.505 32% > 18: 17 Andromaco 8% 17 2,10% > 32% 1% 1.384 41% > 19: 18 Novo Nordisk 2% 18 1,80% 23% > 19% 1.243 43% > 20: 19 Novartis Ph 1% 19 1,80% > 15% 2% 1.217 19% > 21: 20 AZ 1% 20 1,80% > 27% 5% 1.198 33% > rango Companies Extensions Leading Market % Mature Portf New > Products Sales (M AR$) Total Growth > > > > > Un saludo. Olivier > > ------------------------------ > *De: *"Mauricio Monsalvo" <m.monsalvo en gmail.com> > *Para: *"r-help-es" <r-help-es en r-project.org> > *Enviados: *Jueves, 6 de Octubre 2016 14:40:19 > *Asunto: *[R-es] Ordenar matriz de datos > > Hola. > Tengo la matriz adjunta, en un formato incómodo (dos columnas).- > Quisiera ordenarla, tal que resulten 9 variables (columnas) con los > siguientes valores, que actualmente están en la V1, repetidos 21 veces: > Leading > Companies > Sales (M AR$) > Market % > Total Growth > Mature Portf > New Products > Extensions > Leading > Lógicamente, en los filas quisiera los valores que actualmente están en la > V2.- > ?No logro ver cómo hacer con gather() o spread() de ?tidyr... y supongo > que es un problema "común" que debe tener una solución empaquetada para > hacer de una vez. > ?Muchas gracias.? > -- > Mauricio > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Mauricio [[alternative HTML version deleted]]