療法是兩個向量,X1,X2
x1<-1:3
x2<-1:6
我想寫兩個向量到下面的命名test
文件格式
1 2 3
1 2 3 4 5 6
write(file="c:/test",x1)
write(file="c:/test",x2,append=TRUE,nlines=6)
是有一個簡單的方法(在文件中的一個行一個向量)?
療法是兩個向量,X1,X2
x1<-1:3
x2<-1:6
我想寫兩個向量到下面的命名test
文件格式
1 2 3
1 2 3 4 5 6
write(file="c:/test",x1)
write(file="c:/test",x2,append=TRUE,nlines=6)
是有一個簡單的方法(在文件中的一個行一個向量)?
這是寫的所有對象相同的文件用一個命令道:
lapply(list(x1, x2), function(x) write(x, "c:/test", length(x), TRUE))
儘管一行代碼很方便,但要注意文件打開和關閉兩次,否則將無法很好地擴展。當它變得太慢時,你更願意寫入文件連接(見'?file')。 – flodel
一個簡單的方法 - 無論是在寫作方面和讀取數據 - 是使用save
和load
:
##Save both objects to the file
##BTW, you should always use a file extension
save(x1, x2, file="c:/test.RData")
##Loads both objects into your workspace
load("c:/test.RData")
+1,除了更容易它也更強大,並且在浮動的情況下,不會損失精度。而且,'save'可以處理任何R對象。 –
您也可以將paste
中的數字轉換爲字符向量,並使用writeLines
將它們轉儲到文件連接。
dat = list(vec1, vec2)
dat_write = paste(dat, collapse = " ")
con = file("c:\test", "w")
writeLines(dat_write, con)
close(con)
+1用於打開文件連接,這可以產生很大的不同。但是我不認爲輸出是OP所期望的,看看'as.character(dat)'的作用。你可以使用'不可見'(lapply(dat,cat,「\ n」,file = con))'。 – flodel
只要使用'rbind',夥計!把事情簡單化。 –