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.monsa...@gmail.com] 
Enviado el: jueves, 30 de marzo de 2017 11:47
Para: Isidro Hidalgo Arellano <ihida...@jccm.es>; r-help-es 
<r-help-es@r-project.org>
Asunto: Re: [R-es] names

 

Ahí va adjunto como rData.

 

El 29 de marzo de 2017, 9:45, Isidro Hidalgo Arellano <ihida...@jccm.es 
<mailto:ihida...@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.monsa...@gmail.com> 
m.monsa...@gmail.com] 
Enviado el: miércoles, 29 de marzo de 2017 13:17
Para: Isidro Hidalgo Arellano < <mailto:ihida...@jccm.es> ihida...@jccm.es>
CC: r-help-es < <mailto:r-help-es@r-project.org> r-help-es@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 <ihida...@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-boun...@r-project.org 
<mailto:r-help-es-boun...@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@r-project.org <mailto:r-help-es@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@r-project.org <mailto:R-help-es@r-project.org> 
https://stat.ethz.ch/mailman/listinfo/r-help-es







-- 

Mauricio







-- 

Mauricio


        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a