Write.table()函數的用法read.table()非常相似,只不過它把數據框寫入文件而不是從文件中讀取。參數和選項:
write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ",eol = "\n", na = "NA", dec = ".", row.names = TRUE,col.names = TRUE, qmethod = c("escape", "double"))
> kids <- c( "Jack", "Jill", "Kate" )
> ages <- c( 25, 36, 18 )
> d <- data.frame( kids, ages, stringsAsFactors=FALSE )
> write.table( d, "D:/RCodes/dfile.txt" )
如果想把矩陣寫入文件,只需要聲明不要列名和行名即可。
> x <- matrix( scan("D:/RCodes/readM.txt", quiet=TRUE),nrow=5, byrow=TRUE )
> write.table( x, "D:/RCodes/writeM.txt", row.names=FALSE, col.names=FALSE )
cat()函數同樣可以用來寫入文件,一次寫入一部分。
cat( "abc\n", file="D:/RCodes/writeCAT.txt" )
cat( "def\n", file="D:/RCodes/writeCAT.txt",append=TRUE )
cat( file="writeCAT.txt", 1, 2, "xyz\n" )
第一次調用cat()時在指定目錄下創建了文件writeCAT.txt,包含一行內容”abc”。第二次調用追加了第二行,這個文件會在每一次操作之后自動保存。cat()函數可以寫多個字段,上面最后一行的代碼會生成只有一行內容的文件writeCAT.txt。
還可以使用writeLines()函數,它是readLines()的相對。如果用的是連接,則必須設定參數“w”來指明是要寫文件而非讀取。
c <- file( "file", "w" )
writeLines( c( "abc", "de", "f" ), c )
close( c ) #這里需要主動關閉文件