Экспорт матрицы в г - PullRequest
       6

Экспорт матрицы в г

7 голосов
/ 27 июля 2011

Я хочу экспортировать матрицу в R (и сохранить имена моих строк и столбцов). Когда я использую write.table или write.csv, я получаю матрицу с новым столбцом. Как я могу использовать эту функцию.

Спасибо за вашу помощь.

Ответы [ 2 ]

12 голосов
/ 27 июля 2011

Я не вижу проблемы. Вы не получаете новый столбец, имена строк сохраняются как первый столбец в текстовом файле. Так что либо вы указываете столбец, в котором имена строк указаны в read.table, либо используете параметр row.names=FALSE в write.table.

Демонстрация:

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")

В любом случае, чтение файлов справки сказало бы вам все это.

2 голосов
/ 27 июля 2011

Я предполагаю, что под "новым столбцом" вы подразумеваете имена строк, которые выписываются по умолчанию. Чтобы подавить их, установите row.names = FALSE при вызове write.table или 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’.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...