Especificación de tipos de columna al importar datos xlsx a R con el paquete readxl

Estoy importandoxlsx Tablas de 2007 enR 3.2.1patched usando el paquetereadxl 0.1.0 debajoWindows 7 64. El tamaño de las tablas es del orden de 25,000 filas por 200 columnas.

Funciónread_excel() funciona de maravilla. Mi único problema es con su asignación de clase de columna (tipo de datos) a columnas escasamente pobladas. Por ejemplo, una columna dada puede ser NA para 20,000 filas y luego tomará un valor de carácter en la fila 20,001.read_excel() parece tener un valor numérico de columna predeterminado al escanear las primeras n filas de una columna y buscarNAs solamente. Los datos que causan el problema son caracteres en una columna numérica asignada. Cuando se alcanza el límite de error, la ejecución se detiene. De hecho, quiero los datos en las columnas dispersas, por lo que establecer el límite de error más alto no es una solución.

Puedo identificar las columnas problemáticas revisando las advertencias lanzadas. Yread_excel() tiene una opción para afirmar el tipo de datos de una columna estableciendo un argumentocol_types de acuerdo con el paquete de documentos:

Ya seaNULL adivinar de la hoja de cálculo o un vector de caracteres que contieneblank,numeric, date otext.

Pero, ¿significa esto que tengo que construir un vector de longitud 200 poblado en casi todas las posiciones conblank ytext en un puñado de posiciones correspondientes a las columnas ofensivas?

Probablemente hay una manera de hacer esto en un par de líneas deR código. Cree un vector de la longitud requerida y llénelo conblanks. Tal vez otro vector que contenga los números de las columnas a forzartext, y luego ... O tal vez es posible pedirread_excel() solo las columnas para las cuales sus conjeturas no son las deseadas.

Agradecería cualquier sugerencia.

Gracias por adelantado.

Respuestas a la pregunta(6)

Su respuesta a la pregunta