Quiero exportar una matriz en R (y conservar los nombres de mis filas y columnas). Cuando uso write.table o write.csv obtengo una matriz con una nueva columna. ¿Cómo puedo usar esta función?Exportar matriz en r
Gracias por su ayuda.
Quiero exportar una matriz en R (y conservar los nombres de mis filas y columnas). Cuando uso write.table o write.csv obtengo una matriz con una nueva columna. ¿Cómo puedo usar esta función?Exportar matriz en r
Gracias por su ayuda.
No veo el problema. No obtiene una nueva columna, los nombres de las filas se guardan como una primera columna en el archivo de texto. Entonces, o bien especifica la columna donde se dan los nombres de las filas en read.table
, o utiliza la opción row.names=FALSE
en write.table
.
Demostración:
mat <- matrix(1:10,ncol=2)
rownames(mat) <- letters[1:5]
colnames(mat) <- LETTERS[1:2]
mat
write.table(mat,file="test.txt") # keeps the rownames
read.table("test.txt",header=TRUE,row.names=1) # says first column are rownames
unlink("test.txt")
write.table(mat,file="test2.txt",row.names=FALSE) # drops the rownames
read.table("test.txt",header=TRUE)
unlink("test2.txt")
En cualquier caso, la lectura de los archivos de ayuda te habría dicho todo esto.
Supongo que con "nueva columna" te refieres a los nombres de las filas que se escriben de forma predeterminada. Para suprimirlos, configure row.names = FALSE
al llamar al write.table
o write.csv
.
write.table package:utils R Documentation
Data Output
Description:
‘write.table’ prints its required argument ‘x’ (after converting
it to a data frame if it is not one nor a matrix) to a file or
connection.
Usage:
write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ",
eol = "\n", na = "NA", dec = ".", row.names = TRUE,
col.names = TRUE, qmethod = c("escape", "double"))
write.csv(...)
write.csv2(...)
...
row.names: either a logical value indicating whether the row names of
‘x’ are to be written along with ‘x’, or a character vector
of row names to be written.
col.names: either a logical value indicating whether the column names
of ‘x’ are to be written along with ‘x’, or a character
vector of column names to be written. See the section on
‘CSV files’ for the meaning of ‘col.names = NA’.
jeje, +1 para realmente copiar los archivos de ayuda. Pero '? Write.table' hubiera bastado ... –
+1 para no copiar los archivos de ayuda –
No hay que ser grosero con esto, p. Revisé los documentos, pero para write.matrix, y no tiene esa opción –