2011-07-27 22 views
6

R'ye bir matris vermek (hem satırlarım hem de sütunlarımın adlarını tutmak istiyorum). Write.table veya write.csv kullandığımda yeni bir sütuna sahip bir matris elde ediyorum. Bu işlevi nasıl kullanabilirim?Dışa aktarma matrisi r

Yardımlarınız için teşekkür ederiz.

cevap

11

Sorunu göremiyorum. Yeni bir sütun almazsanız, satır adları metin dosyasında ilk sütun olarak kaydedilir. Yani ya satır adlarının read.table içinde verildiği sütunu belirtin ya da write.table'da row.names=FALSE seçeneğini kullanın.

Gösteri: Her durumda

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

, yardım dosyaları okuma size tüm bu söylerdim. Yardım dosyalarını kopyalamak için

+1

+1 yardım dosyalarının kopyalanmaması için –

+3

Bu konuda kaba olmanıza gerek yok - örn. Dokümanları kontrol ettim, ancak write.matrix için böyle bir seçenek yok –

2

"Yeni sütun" ile, varsayılan olarak yazılan satır adlarını kastediyorsunuz. Bunları bastırmak için write.table veya write.csv numaralı telefonu arayarak row.names = FALSE'u ayarlayın.

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’. 
+0

hehe, +1. Ama '' write.table' yeterli olurdu ... –

İlgili konular