[R-es] Asignacion de colclasses

Luisfo luisfo89 en yahoo.es
Mar Sep 27 14:33:24 CEST 2016


Hola César,

Aunque la respuesta de Carlos está bien, date cuenta de que el error dice:

   scan() expected 'a real', got '13.060.496'

Parece que tienes separadores de 'miles' en una columna, y R no traga 
con ellos, dado que espera un numérico.
Creo que tendrás que hacer un preprocesado, o un postprocesado para 
lidiar con ellos.

Un saludo,

*Luisfo Chiroque*
/PhD Student | PhD Candidate
IMDEA Networks Institute/
http://fourier.networks.imdea.org/people/~luis_nunez/ 
<http://fourier.networks.imdea.org/people/%7Eluis_nunez/>

On 27/09/16 08:53, Carlos Ortega wrote:
> Hola,
>
> Al margen de la solución técnica a tu problema, me intriga un tanto el
> objetivo que persigues.
>
> Si tu objetivo es determinar las clases para luego optimizar la lectura, mi
> sugerencia es que si el fichero que quieres leer es muy grande, puedes
> utilizar la función "fread()" del paquete "data.table" que hace este
> trabajo por ti. También tienes otra alternativa con el paquete "readr"
> (incluye una función read_csv) que utiliza una estrategia equivalente a la
> que estás buscando, aunque sus tiempos de lectura son peores que las que
> ofrece "fread()".
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
> El 27 de septiembre de 2016, 6:30, Cesar Lopez <cesarlopez-1 en hotmail.com>
> escribió:
>
>> Buenas Noches,
>>
>>
>> Les escribo para solicitarles una ayuda con lo siguiente:
>>
>> "Primero leo las primeras 100 lineas de mi archivo"
>> inicial <- read.csv("cartera1.csv", header=TRUE, sep=";",
>> fileEncoding="latin1", nrows=100)
>>
>> "Segundo determino las clases o tipos de objetos"
>>
>> clases <- sapply(inicial, class)
>>
>>
>> "Tercero reviso clases"
>>
>> clases
>>                          USUARIO                          NOMBRE
>>                        "integer"                        "factor"
>>                        DIRECCION                         ESTRATO
>>                         "factor"                       "integer"
>>                            CICLO                 DEUDA_PENDIENTE
>>                        "integer"                        "factor"
>>         INTERESES_PENDIENTES_MES INTERESES_PENDIENTES_ACUMULADOS
>>                        "numeric"                       "numeric"
>>                       MESES_MORA                   CUOTA_INICIAL
>>                         "factor"                       "integer"
>>                      CUOTA_SALDO                     CUOTA_VALOR
>>                        "numeric"                       "numeric"
>>                  CUOTA_INTERESES                CUOTA_PENDIENTES
>>                        "numeric"                       "integer"
>>                          PAGADAS                       FACTURADO
>>                        "integer"                       "numeric"
>>                           ABONOS
>>                        "integer"
>>
>>
>> "Cuarto intento importar el archivo con el colclasses"
>>
>> datos <- read.csv("cartera1.csv", header=TRUE, sep=";", fileEncoding=
>> "latin1", colClasses=clases)
>>
>>
>> "Me aparece el siguiente error"
>>
>> Error in scan(file = file, what = what, sep = sep, quote = quote, dec =
>> dec,  :
>>    scan() expected 'a real', got '13.060.496'
>>
>>
>> Que es lo que estoy haciendo mal o porque me sale dicho error ?
>>
>>
>> Agradeciendo todo su apoyo,
>>
>>
>> CESAR AUGUSTO LOPEZ
>>
>>          [[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
>>
>
>


	[[alternative HTML version deleted]]



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