10 votos

Es posible leer directamente CSV columnas de datos categóricos?

Tengo que analizar con R de los datos de un estudio médico (con 100+ codificado columnas) que viene en un archivo CSV. Voy a utilizar el sonajero para algunos análisis inicial, pero detrás de las escenas es todavía R.

Si me lea.csv() el archivo, las columnas con los códigos numéricos son tratados como datos numéricos. Soy consciente de que podría crear columnas de categorías a partir de ellos con el factor() pero hacerlo para más de 100 columnas es un dolor.

Tengo la esperanza de que hay una mejor manera de decirle a R a la importación de las columnas directamente como factores. O al menos a convertir en su lugar después.

Gracias!

12voto

The How-To Geek Puntos 703

o simplemente hacerlo después de leer los datos

dat <- read.csv("kdfjdkf")
apply(dat, 2, factor)

aunque este tipo de Q es probablemente más adecuados para el Stack Overflow.

edit: a ver a continuación.

2voto

Omar Kooheji Puntos 384

Usted puede utilizar el colClasses argumento para especificar las clases de sus columnas de datos. Por ejemplo:

data <- read.csv('foo.csv', colClasses=c('numeric', 'factor', 'factor'))

asignará numéricos para la primera columna, el factor de para el segundo y tercer lugar. Ya que tienes tantas columnas, un acceso directo puede ser:

data <- read.csv('foo.csv', colClasses=c('numeric', rep('factor', 37), 'character'))

o alguna variación (es decir, asignar numérico a la primera columna, el factor de para la próxima 37 columnas, personaje de la última).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X