Hola. Tengo un set de datos importados desde SPSS (que usa etiquetas).- Mayormente, no tengo problemas, pero en una variable puntual veo que las etiquetas de las variables "están" pero la clase del vector no me cierra y los resultados no los usan. Trato de mostrarlo:> na.omit(datos[, .(FORM, Region, Dependencia = B2a, Criterios D4_Otros.1)])FORM Region Dependencia Criterios 1: 44 NEA Provinciales 8 2: 47 NEA Provinciales 8 3: 51 NEA Provinciales 8 4: 52 NEA Provinciales 8 5: 58 NEA Provinciales 8 6: 222 NOA Municipales 11 7: 231 NOA Provinciales 12 8: 232 NOA Religiosos 11 9: 235 NOA Provinciales 12 10: 243 NOA Municipales 8 11: 251 NOA Privados 10 12: 441 NEA Municipales 12 13: 450 NEA Provinciales 8 14: 493 NOA Provinciales 99 15: 530 NOA Nacionales 14 16: 601 NOA Religiosos 9 17: 656 NOA Comunitarios 13 18: 678 NEA Provinciales 15 19: 681 NEA Comunitarios 14 20: 683 NEA Comunitarios 8> class(datos$D4_Otros.1)[1] "numeric"> str(datos$D4_Otros.1)atomic [1:311] NA NA NA NA NA NA NA NA NA NA ... - attr(*, "value.labels")= Named chr [1:7] "15" "14" "13" "12" ... ..- attr(*, "names")= chr [1:7] "hijos del personal del hospital" "diagnostico hemato oncológico" "niños desnutridos o con riesgo" "hijos de empleados municipales" ...> variable.names(datos$D4_Otros.1) # o bien names(datos$D4_Otros.1)NULL> attr(datos$D4_Otros.1, "names")NULL Probé algunas transformaciones pero la única forma de hacerlo que encontré es (volver a) asignarle ?etiquetas a esos factores. Algo como ifelse(1, "hijos del personal del hospital", etc.) ¿Cómo puedo recuperar esa información que muestra attr(*, names)? ¿Es posible? Creo que si R la ve, es porque está y el problema es que no sé utilizarla. Muchas gracias. -- Mauricio [[alternative HTML version deleted]]
Si pudieras enviar un trozo del data frame quizá te podríamos ayudar un poco mejor. A las malas, no utilices una secuencia de if.else, monta un data frame de 2 columnas con las 7 etiquetas y códigos y haz un merge, creo que es mucho más sencillo... Un saludo Isidro Hidalgo Arellano Observatorio del Mercado de Trabajo Consejería de Economía, Empresas y Empleo http://www.castillalamancha.es/ -----Mensaje original----- De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de Mauricio Monsalvo Enviado el: miércoles, 29 de marzo de 2017 12:37 Para: r-help-es <r-help-es en r-project.org> Asunto: [R-es] names Hola. Tengo un set de datos importados desde SPSS (que usa etiquetas).- Mayormente, no tengo problemas, pero en una variable puntual veo que las etiquetas de las variables "están" pero la clase del vector no me cierra y los resultados no los usan. Trato de mostrarlo:> na.omit(datos[, .(FORM, Region, Dependencia = B2a, Criterios D4_Otros.1)])FORM Region Dependencia Criterios 1: 44 NEA Provinciales 8 2: 47 NEA Provinciales 8 3: 51 NEA Provinciales 8 4: 52 NEA Provinciales 8 5: 58 NEA Provinciales 8 6: 222 NOA Municipales 11 7: 231 NOA Provinciales 12 8: 232 NOA Religiosos 11 9: 235 NOA Provinciales 12 10: 243 NOA Municipales 8 11: 251 NOA Privados 10 12: 441 NEA Municipales 12 13: 450 NEA Provinciales 8 14: 493 NOA Provinciales 99 15: 530 NOA Nacionales 14 16: 601 NOA Religiosos 9 17: 656 NOA Comunitarios 13 18: 678 NEA Provinciales 15 19: 681 NEA Comunitarios 14 20: 683 NEA Comunitarios 8> class(datos$D4_Otros.1)[1] "numeric"> str(datos$D4_Otros.1)atomic [1:311] NA NA NA NA NA NA NA NA NA NA ... - attr(*, "value.labels")= Named chr [1:7] "15" "14" "13" "12" ... ..- attr(*, "names")= chr [1:7] "hijos del personal del hospital" "diagnostico hemato oncológico" "niños desnutridos o con riesgo" "hijos de empleados municipales" ...> variable.names(datos$D4_Otros.1) # o bien names(datos$D4_Otros.1)NULL> attr(datos$D4_Otros.1, "names")NULL Probé algunas transformaciones pero la única forma de hacerlo que encontré es (volver a) asignarle ?etiquetas a esos factores. Algo como ifelse(1, "hijos del personal del hospital", etc.) ¿Cómo puedo recuperar esa información que muestra attr(*, names)? ¿Es posible? Creo que si R la ve, es porque está y el problema es que no sé utilizarla. Muchas gracias. -- Mauricio [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Claro. Va. Pero sospecho que al darle prueba <- datos[, .(D4_Otros.1, Region, B2a)] write.csv2(prueba, "datos.csv") va a perder esos atributos... El 29 de marzo de 2017, 8:08, Isidro Hidalgo Arellano <ihidalgo en jccm.es> escribió:> Si pudieras enviar un trozo del data frame quizá te podríamos ayudar un > poco mejor. A las malas, no utilices una secuencia de if.else, monta un > data frame de 2 columnas con las 7 etiquetas y códigos y haz un merge, creo > que es mucho más sencillo... > Un saludo > > Isidro Hidalgo Arellano > Observatorio del Mercado de Trabajo > Consejería de Economía, Empresas y Empleo > http://www.castillalamancha.es/ > > > > -----Mensaje original----- > De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de > Mauricio Monsalvo > Enviado el: miércoles, 29 de marzo de 2017 12:37 > Para: r-help-es <r-help-es en r-project.org> > Asunto: [R-es] names > > Hola. > Tengo un set de datos importados desde SPSS (que usa etiquetas).- > Mayormente, no tengo problemas, pero en una variable puntual veo que las > etiquetas de las variables "están" pero la clase del vector no me cierra y > los resultados no los usan. Trato de mostrarlo: > > na.omit(datos[, .(FORM, Region, Dependencia = B2a, Criterios > D4_Otros.1)]) > FORM Region Dependencia Criterios > 1: 44 NEA Provinciales 8 > 2: 47 NEA Provinciales 8 > 3: 51 NEA Provinciales 8 > 4: 52 NEA Provinciales 8 > 5: 58 NEA Provinciales 8 > 6: 222 NOA Municipales 11 > 7: 231 NOA Provinciales 12 > 8: 232 NOA Religiosos 11 > 9: 235 NOA Provinciales 12 > 10: 243 NOA Municipales 8 > 11: 251 NOA Privados 10 > 12: 441 NEA Municipales 12 > 13: 450 NEA Provinciales 8 > 14: 493 NOA Provinciales 99 > 15: 530 NOA Nacionales 14 > 16: 601 NOA Religiosos 9 > 17: 656 NOA Comunitarios 13 > 18: 678 NEA Provinciales 15 > 19: 681 NEA Comunitarios 14 > 20: 683 NEA Comunitarios 8 > > class(datos$D4_Otros.1) > [1] "numeric" > > str(datos$D4_Otros.1) > atomic [1:311] NA NA NA NA NA NA NA NA NA NA ... > - attr(*, "value.labels")= Named chr [1:7] "15" "14" "13" "12" ... > ..- attr(*, "names")= chr [1:7] "hijos del personal del hospital" > "diagnostico hemato oncológico" "niños desnutridos o con riesgo" "hijos de > empleados municipales" ... > > variable.names(datos$D4_Otros.1) # o bien names(datos$D4_Otros.1) > NULL > > attr(datos$D4_Otros.1, "names") > NULL > Probé algunas transformaciones pero la única forma de hacerlo que encontré > es (volver a) asignarle ?etiquetas a esos factores. Algo como ifelse(1, > "hijos del personal del hospital", etc.) ¿Cómo puedo recuperar esa > información que muestra attr(*, names)? ¿Es posible? Creo que si R la ve, > es porque está y el problema es que no sé utilizarla. > Muchas gracias. > > -- > Mauricio > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Mauricio ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170329/70afc617/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: datos.csv Type: text/csv Size: 9279 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170329/70afc617/attachment-0001.bin>
?Hola.? 2017-03-29 7:37 GMT-03:00 Mauricio Monsalvo <m.monsalvo en gmail.com>:> Tengo un set de datos importados desde SPSS (que usa etiquetas).¿ ?Has probado con read_sav() del paquete haven? Suele importar mejor que las funciones de foreign. Cuéntanos.? -- «Pídeles sus títulos a los que te persiguen, pregúntales cuándo nacieron, diles que te demuestren su existencia.» Rafael Cadenas [[alternative HTML version deleted]]
Nop, sinceramente. Pero lo voy a intentar así! El 29 de marzo de 2017, 8:20, Freddy Omar López Quintero < freddy.lopez.quintero en gmail.com> escribió:> ?Hola.? > > 2017-03-29 7:37 GMT-03:00 Mauricio Monsalvo <m.monsalvo en gmail.com>: > >> Tengo un set de datos importados desde SPSS (que usa etiquetas). > > > ¿ > ?Has probado con read_sav() del paquete haven? Suele importar mejor que > las funciones de foreign. > > Cuéntanos.? > > > > -- > «Pídeles sus títulos a los que te persiguen, pregúntales > cuándo nacieron, diles que te demuestren su existencia.» > > Rafael Cadenas > >-- Mauricio [[alternative HTML version deleted]]
Ah, vale. Ya está. Puedes sacar los nombres con: names(attr(datos$D4_Otros.1,"value.labels")) Si te fijas en el str(datos$D4_Otros.1) el atributo "names" está como etiquetas de otro atributo, por eso no lo podías obtener directamente con: attr(datos$D4_Otros.1,"names") ?ni con? Names(datos$D4_Otros.1) Si no te he entendido mal, puedes obtener lo que quieres, de la forma más rápida, montando un factor: datosEtiquetados = factor(datos$D4_Otros.1, levels = attr(datos$D4_Otros.1,"value.labels"), labels = attr(attr(datos$D4_Otros.1,"value.labels"), "names")) Un saludo Isidro Hidalgo Arellano Observatorio del Mercado de Trabajo Consejería de Economía, Empresas y Empleo http://www.castillalamancha.es/ De: Mauricio Monsalvo [mailto:m.monsalvo en gmail.com] Enviado el: jueves, 30 de marzo de 2017 11:47 Para: Isidro Hidalgo Arellano <ihidalgo en jccm.es>; r-help-es <r-help-es en r-project.org> Asunto: Re: [R-es] names Ahí va adjunto como rData. El 29 de marzo de 2017, 9:45, Isidro Hidalgo Arellano <ihidalgo en jccm.es <mailto:ihidalgo en jccm.es> > escribió: Quizá si seleccionas un trozo del data.frame y lo guardas como objeto en un rData? De: Mauricio Monsalvo [mailto: <mailto:m.monsalvo en gmail.com> m.monsalvo en gmail.com] Enviado el: miércoles, 29 de marzo de 2017 13:17 Para: Isidro Hidalgo Arellano < <mailto:ihidalgo en jccm.es> ihidalgo en jccm.es> CC: r-help-es < <mailto:r-help-es en r-project.org> r-help-es en r-project.org> Asunto: Re: [R-es] names Claro. Va. Pero sospecho que al darle prueba <- datos[, .(D4_Otros.1, Region, B2a)] write.csv2(prueba, "datos.csv") va a perder esos atributos... El 29 de marzo de 2017, 8:08, Isidro Hidalgo Arellano <ihidalgo en jccm.es> escribió: Si pudieras enviar un trozo del data frame quizá te podríamos ayudar un poco mejor. A las malas, no utilices una secuencia de if.else, monta un data frame de 2 columnas con las 7 etiquetas y códigos y haz un merge, creo que es mucho más sencillo... Un saludo Isidro Hidalgo Arellano Observatorio del Mercado de Trabajo Consejería de Economía, Empresas y Empleo http://www.castillalamancha.es/ -----Mensaje original----- De: R-help-es [mailto:r-help-es-bounces en r-project.org <mailto:r-help-es-bounces en r-project.org> ] En nombre de Mauricio Monsalvo Enviado el: miércoles, 29 de marzo de 2017 12:37 Para: r-help-es <r-help-es en r-project.org <mailto:r-help-es en r-project.org> > Asunto: [R-es] names Hola. Tengo un set de datos importados desde SPSS (que usa etiquetas).- Mayormente, no tengo problemas, pero en una variable puntual veo que las etiquetas de las variables "están" pero la clase del vector no me cierra y los resultados no los usan. Trato de mostrarlo:> na.omit(datos[, .(FORM, Region, Dependencia = B2a, Criterios D4_Otros.1)])FORM Region Dependencia Criterios 1: 44 NEA Provinciales 8 2: 47 NEA Provinciales 8 3: 51 NEA Provinciales 8 4: 52 NEA Provinciales 8 5: 58 NEA Provinciales 8 6: 222 NOA Municipales 11 7: 231 NOA Provinciales 12 8: 232 NOA Religiosos 11 9: 235 NOA Provinciales 12 10: 243 NOA Municipales 8 11: 251 NOA Privados 10 12: 441 NEA Municipales 12 13: 450 NEA Provinciales 8 14: 493 NOA Provinciales 99 15: 530 NOA Nacionales 14 16: 601 NOA Religiosos 9 17: 656 NOA Comunitarios 13 18: 678 NEA Provinciales 15 19: 681 NEA Comunitarios 14 20: 683 NEA Comunitarios 8> class(datos$D4_Otros.1)[1] "numeric"> str(datos$D4_Otros.1)atomic [1:311] NA NA NA NA NA NA NA NA NA NA ... - attr(*, "value.labels")= Named chr [1:7] "15" "14" "13" "12" ... ..- attr(*, "names")= chr [1:7] "hijos del personal del hospital" "diagnostico hemato oncológico" "niños desnutridos o con riesgo" "hijos de empleados municipales" ...> variable.names(datos$D4_Otros.1) # o bien names(datos$D4_Otros.1)NULL> attr(datos$D4_Otros.1, "names")NULL Probé algunas transformaciones pero la única forma de hacerlo que encontré es (volver a) asignarle ?etiquetas a esos factores. Algo como ifelse(1, "hijos del personal del hospital", etc.) ¿Cómo puedo recuperar esa información que muestra attr(*, names)? ¿Es posible? Creo que si R la ve, es porque está y el problema es que no sé utilizarla. Muchas gracias. -- Mauricio [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org <mailto:R-help-es en r-project.org> https://stat.ethz.ch/mailman/listinfo/r-help-es -- Mauricio -- Mauricio [[alternative HTML version deleted]]