2012-07-22 17 views
6

Estoy importando un csv de datos de stock en R, con los nombres de columna del ticker de acciones que comienza con el número y contiene espacio adentro, p. "5560 JP". Después de leer en R, los nombres de columna se agregan con "X" y el espacio reemplazado por ".", P. "X5560.JP". Después de que todos los trabajos se hayan realizado en R, quiero volver a escribir los datos procesados ​​en una nueva csv, pero con el nombre de columna original, p. "5560 JP" en lugar de "X5560.JP", ¿cómo puedo hacer eso?R - nombres de columna en read.table y write.table comenzando por el número y conteniendo espacio

¡Gracias!

+1

Llame a su 'df' variables, prueba este' nombres (df) Ryogi

+4

hay un argumento' check.names' para 'read.table' que omitiría el cambio de nombre, creo. Es posible que pueda guardar esos nombres y usarlos justo antes de la exportación final. – baptiste

+0

Gracias por eso – Joyce

Respuesta

19

Cuando utiliza write.csv o write.table para guardar sus datos en un archivo CSV, puede establecer los nombres de columna a su gusto estableciendo el argumento col.names.

Pero eso supone que tiene los nombres de las columnas disponibles. Una vez que haya leído los datos y R haya convertido los nombres, habrá perdido esa información. Para evitar esto, puede suprimir la conversión para obtener los nombres de columna: - "\\"

df <- read.csv("mydata.csv", check.names=FALSE) 
orig.cols <- colnames(df) 
colnames(df) <- make.names(colnames(df)) 

[your original code] 

write.csv(df, col.names=orig.cols) 
+0

¡Eso es genial, muchas gracias! – Joyce

Cuestiones relacionadas