Skip to content

[R-es] Transponer data frame.

12 messages · Isidro Hidalgo, Javier Nieto, José Trujillo Carmona +4 more

#
Hola,
Tengo la siguiente base de datos

Numero de vuelo Nacionalidad Pax
1240 Argentina 2341
1240 Uruguaya 4432
1240 Paraguaya 67000
1240 Brasilera 1234
1241 Argentina 7344
1241 Uruguaya 543000
1241 Paraguaya 3000
1241 Brasilera 234000
y quiero que quede del siguiente modo:

Numero de vuelo Nacionalidad_argentina Nacionalidad_uruguaya
Nacionalidad_paraguaya Nacionalidad_brasilera
1240 2341 4432 67000 1234
1241 7344 543000 3000 234000

 intenté con *vuelos_f<-t(vuelos) *pero no logro lo que quiero, queda así:

[image: image.png]

Muchas gracias! Saludos, Juan.

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/4a0bc911/attachment-0001.html>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 6075 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/4a0bc911/attachment-0001.png>
#
Buenas tardes:

Lo que necesitas lo puedes hacer con la función ?reshape?, del paquete ?stats?.

Tienes los datos en la forma ?long? y necesitas pasarlos a ?wide?.

Un saludo

 

Isidro Hidalgo Arellano

Observatorio del Mercado de Trabajo

Consejería de Economía, Empresas y Empleo

 <http://www.castillalamancha.es/> http://www.castillalamancha.es/

 

 

 

De: R-help-es <r-help-es-bounces en r-project.org> En nombre de juan manuel dias
Enviado el: jueves, 11 de octubre de 2018 17:33
Para: Lista R <r-help-es en r-project.org>
Asunto: [R-es] Transponer data frame.

 

Hola,

Tengo la siguiente base de datos

 


Numero de vuelo

Nacionalidad

Pax


1240

Argentina

2341


1240

Uruguaya

4432


1240

Paraguaya

67000


1240

Brasilera

1234


1241

Argentina

7344


1241

Uruguaya

543000


1241

Paraguaya

3000


1241

Brasilera

234000

 

y quiero que quede del siguiente modo:

 


Numero de vuelo

Nacionalidad_argentina

Nacionalidad_uruguaya

Nacionalidad_paraguaya

Nacionalidad_brasilera


1240

2341

4432

67000

1234


1241

7344

543000

3000

234000

 

 intenté con vuelos_f<-t(vuelos) pero no logro lo que quiero, queda así:

 



 

Muchas gracias! Saludos, Juan.


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/ee80d468/attachment-0001.html>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 27218 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/ee80d468/attachment-0001.png>
#
Hola


Desconozco lo que estés haciendo pero en general, no es una buena práctica trabajar de eso modo a menos que sea para visualización en un documento. Lo recomendable es trabajar con la información como la tienes y no la transformes de esa forma. Si aun así decides hacerlo prueba la función dcast del paquete data.table.



Saludos
#
Muchas gracias.

El jue., 11 de oct. de 2018 12:46 p.m., Javier Nieto <mac_javi en hotmail.com>
escribió:
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/7d7bbf6e/attachment-0001.html>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 6075 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/7d7bbf6e/attachment-0001.png>
#
Muchas gracias.

El jue., 11 de oct. de 2018 12:43 p.m., Isidro Hidalgo Arellano <
ihidalgo en jccm.es> escribió:
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/d8d7a58c/attachment-0001.html>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 27218 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/d8d7a58c/attachment-0001.png>
#
Mediante unstack y reordenando columnas con <- [, ...]

 > NV<-c(1240,1240,1240,1240,1241,1241,1241,1241)

 > 
Nc<-c("Argentina","Uruguaya","Paraguaya","Brasilera","Argentina","Uruguaya","Paraguaya","Brasilera")

 > Pax<-c(2341,4432,67000,1234,7344,543000,3000,234000)

 > (DDD<-data.frame(NV,Nc,Pax))
     NV        Nc    Pax
1 1240 Argentina   2341
2 1240  Uruguaya   4432
3 1240 Paraguaya  67000
4 1240 Brasilera   1234
5 1241 Argentina   7344
6 1241  Uruguaya 543000
7 1241 Paraguaya   3000
8 1241 Brasilera 234000

 > (UUU<-unstack(DDD[,2:3],DDD$Pax~DDD$Nc))
   Argentina Brasilera Paraguaya Uruguaya
1      2341      1234     67000     4432
2      7344    234000      3000   543000

 > UUU$NV<-seq(1240,1241)

 > (FFF<-UUU[,c(5,seq(1,4)))

 > (FFF<-UUU[,c(5,seq(1,4))])
     NV Argentina Brasilera Paraguaya Uruguaya
1 1240      2341      1234     67000     4432
2 1241      7344    234000      3000   543000

Saludos

El 11/10/18 a las 17:32, juan manuel dias escribió:
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/6f6d715f/attachment-0001.html>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 6075 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/6f6d715f/attachment-0001.png>
#
Hola,

Esta es otra alternativa:
+ Numero_vuelo     Nacionalidad     Pax
+ 1240     Argentina     2341
+ 1240     Uruguaya     4432
+ 1240     Paraguaya     67000
+ 1240     Brasilera     1234
+ 1241     Argentina     7344
+ 1241     Uruguaya     543000
+ 1241     Paraguaya     3000
+ 1241     Brasilera     23400
+ "
Numero_vuelo Argentina Brasilera Paraguaya Uruguaya
1:         1240      2341      1234     67000     4432
2:         1241      7344     23400      3000   543000

Saludos,
Carlos Ortega
www.qualityexcellence.es

El jue., 11 oct. 2018 a las 17:33, juan manuel dias (<juamadias en gmail.com>)
escribió:

  
    
#
muchas gracias!

El jue., 11 oct. 2018 a las 16:03, José Trujillo Carmona (<trujillo en unex.es>)
escribió:
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/59868671/attachment-0001.html>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 6075 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/59868671/attachment-0002.png>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 6075 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20181011/59868671/attachment-0003.png>
#
Me parece la mejor opción

Obtener Outlook para Android<https://aka.ms/ghei36>
4 days later
#
Buenos días:

Estoy trabajando con el paquete Likert y generando gráficos como el que 
adjunto.

El problema que tengo, es que si nos fijamos en la última línea del 
gráfico, el percent.low es 67%, el intermedio 14%, y el percent.high es 
20%. Eso ofrece un total de 101%. Lógicamente se debe a que los tantos 
por cientos están redondeados y no ofrecen un total del 100%.

He mirado la ayuda del paquete y probado con todo lo que se me ocurre, 
pero no consigo que se muestren los tantos por cientos al menos con un 
decimal, para evitar este error.

¿Alguien sabe decirme como poner la opción en el plot para que tome 
decimales?

Gracias por vuestra ayuda.

Saludos,
#
Hola,

Pues es un pequeño problema que ya existía incluso en el ejemplo que
acompaña al paquete (línea de "Fiction").


[image: image.png]
Y no he visto ningún parámetro en la función que tiene el paquete para el
control de ciertos elementos "likert.options()" para corregir esto.
Una forma de corregirlo es asegurarte tú en tus datos que los valores están
redondeados y que suman todos 100.

Saludos,
Carlos Ortega
www.qualityexcellence.es


El mar., 16 oct. 2018 a las 12:40, Francisco Javier Ibáñez López (<
fjil en um.es>) escribió:

  
    
6 days later
#
Buenas tardes:

Al final he conseguido "engañar" al gráfico para que los tantos por 
cientos salgan ajustados.

Hay que meterse en la lista que genera la función likert, dentro de item 
y results, y editar los datos buscando obtener el tanto por ciento correcto.

Si alguien necesita saber exactamente cómo, se puede poner en contacto 
conmigo.

Saludos y mil gracias por la ayuda.

Fran Ibáñez

El 16/10/18 a las 15:49, Carlos Ortega escribió: