[R-es] error en el cambio de formato desde factor a numerico USANDO LAPPLY

Carlos Ortega cof en qualityexcellence.es
Jue Mar 2 22:43:17 CET 2017


Hola Javier,

Claro, una vez que cargas el fichero en "R", la columna queda asignada a
una clase, en este caso "character" o "factor" que permanece aunque
elimines la fila que provocó este comportamiento. Esta asignación no es
dinámica. Tienes que volver a definir la nueva clase de forma explícita.

Esta es una forma de tratarlo:

#-----------------------------------------

dat <- datIn[-1, ]
library(lubridate)
dat_new <- apply(dat[,2:ncol(dat)], 2, as.numeric)
dat_end <- cbind(Timestamp = ymd(dat[,1]), dat_new)
head(dat_end)
as.data.frame(lapply(dat_end, class))

#-----------------------------------------

Saludos,
Carlos Ortega
www.qualityexcellence.es



El 2 de marzo de 2017, 15:14, Javier Valdes Cantallopts (DGA) <
javier.valdes en mop.gov.cl> escribió:

> Obtuve buenos resultados pero desde el archivo plano antes de ingresarlo a
> R(Borrando esa fila a la mala)
>
> Sin embargo, estando en R, y utilizando el comando  EA2<-EA[-1,]. Después
> de proceder a la eliminación de la fila, y aplicar *sapply*, me sigue
> dando el mismo error.
>
> Aunque eliminé la fila, estando en R, el programa no la reconoce como
> eliminada?
>
> Gracias por el consejo a todo esto Carlos.
>
>
>
> *De:* Carlos Ortega [mailto:cof en qualityexcellence.es]
> *Enviado el:* miércoles, 01 de marzo de 2017 19:35
> *Para:* Javier Valdes Cantallopts (DGA)
> *CC:* r-help-es en r-project.org
> *Asunto:* Re: error en el cambio de formato desde factor a numerico
> USANDO LAPPLY
>
>
>
> ​Hola,
>
>
>
> Es más fácil que todo eso...
>
> Es que en tu fichero de entrada, la segunda fila son las unidades de las
> variables que tienes en la primera fila, pero "R" al leerlas las considera
> como un string que altera la clase de toda la columna cuando ésta es
> numérica.
>
>
>
> Simplemente eliminando esa segunda fila, las columnas acaban teniendo la
> clase que deben..
>
>
>
>
>
> #-------------------------------- Lectura del fichero de entrada sin
> corregir -----
>
> > head(datIn)
>
>    TIMESTAMP RECORD batt_volt WinVel WinDir Taire Haire BP_hPA cgr3_T_C
> cgr3_T_K    Lnet long_up_corr   CMP3
>
> 1         TS     RN     volts     mV     mV     c     %    hPA    deg_C
>     NA      NA        W/m^2  W/m^2
>
> 2 2016-03-22   0.00     14.13   0.00 240.90  8.67 14.76 687.43     9.83
> 282.98 -141.02       222.56 767.82
>
> 3 2016-03-22   1.00     14.12   3.98 224.30  8.57 16.38 642.69     9.77
> 282.93 -140.14       223.16 742.05
>
>
>
> #------------------------------ Lectura del fichero tras corregirle
> ------------------
>
> > head(datIn)
>
>    TIMESTAMP RECORD batt_volt WinVel WinDir Taire Haire BP_hPA cgr3_T_C
> cgr3_T_K    Lnet long_up_corr   CMP3
>
> 1 2016-03-22      0     14.13   0.00  240.9  8.67 14.76 687.43     9.83
> 282.98 -141.02       222.56 767.82
>
> 2 2016-03-22      1     14.12   3.98  224.3  8.57 16.38 642.69     9.77
> 282.93 -140.14       223.16 742.05
>
> 3 2016-03-22      2     14.12   3.26  225.9  9.85 15.47 642.69    10.60
> 283.75 -143.66       223.87 716.29
>
>
>
> Y clases de cada columna:
>
> as.data.frame(lapply(datIn, class))
>
>   TIMESTAMP  RECORD batt_volt  WinVel  WinDir   Taire   Haire  BP_hPA
> cgr3_T_C cgr3_T_K    Lnet long_up_corr    CMP3
>
> 1 character numeric   numeric numeric numeric numeric numeric numeric
>  numeric  numeric numeric      numeric numeric
>
>
>
>
>
>
>
> Saludos,
>
> Carlos Ortega
>
> www.qualityexcellence.es​
>
>
>
> El 1 de marzo de 2017, 21:31, Javier Valdes Cantallopts (DGA) <
> javier.valdes en mop.gov.cl> escribió:
>
> Hola estimados.
>
> Les cuento que me está sucediendo lo siguiente:
>
> Estoy tratando de cambiar el formato de las columnas [, 2:13], desde
> factor a numérico, usando LAPPLY
>
> Sin embargo sucede algo extraño, ya que al hacer el cambio, me CAMBIA LOS
> VALORES DE LAS CELDAS¡¡¡
>
>
>
> TEMPERATURA (ORIGINAL) tipo factor;
>
> 8.67
>
> 8.57
>
> 9.85
>
> 8.81
>
> TEMPERATURA (*después del cambio a tipo numérico)*
>
> 2656
>
> 2646
>
> 2771
>
> 2669
>
>
>
> MI CODIGO
>
> *EA<-read.table("MERGE_FIJA.dat",header = T, sep = ",")*
>
> *EA[,2:13]<-lapply(EA[,2:13], as.numeric)*
>
>
>
> *ADJUNTO PLANILLA.*
>
> *Saludos y gracias.*
>
>
> ------------------------------
>
>
> CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los
> archivos adjuntos es de carácter confidencial o privilegiada y está
> destinada al uso exclusivo del emisor y/o de la persona o entidad a quien
> va dirigida. Si usted no es el destinatario, cualquier almacenamiento,
> divulgación, distribución o copia de esta información está estrictamente
> prohibido y sancionado por la ley. Si recibió este mensaje por error, por
> favor infórmenos inmediatamente respondiendo este mismo mensaje y borre
> todos los archivos adjuntos. Gracias.
>
> CONFIDENTIAL NOTE: The information transmitted in this message and/or
> attachments is confidential and/or privileged and is intented only for use
> of the person or entity to whom it is addressed. If you are not the
> intended recipient, any retention, dissemination, distribution or copy of
> this information is strictly prohibited and sanctioned by law. If you
> received this message in error, please reply us this same message and
> delete this message and all attachments. Thank you.
>
>
>
>
>
> --
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
> ------------------------------
>
> CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los
> archivos adjuntos es de carácter confidencial o privilegiada y está
> destinada al uso exclusivo del emisor y/o de la persona o entidad a quien
> va dirigida. Si usted no es el destinatario, cualquier almacenamiento,
> divulgación, distribución o copia de esta información está estrictamente
> prohibido y sancionado por la ley. Si recibió este mensaje por error, por
> favor infórmenos inmediatamente respondiendo este mismo mensaje y borre
> todos los archivos adjuntos. Gracias.
>
> CONFIDENTIAL NOTE: The information transmitted in this message and/or
> attachments is confidential and/or privileged and is intented only for use
> of the person or entity to whom it is addressed. If you are not the
> intended recipient, any retention, dissemination, distribution or copy of
> this information is strictly prohibited and sanctioned by law. If you
> received this message in error, please reply us this same message and
> delete this message and all attachments. Thank you.
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



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