2015-10-02 43 views
4

我試圖寫一個特徵向量的文本文件的Windows 7/R 3.2.2下64,和我想的UNIX LF - 而不是Windows CRLF:R:獲得類似Unix的換行符LF寫貓的文件()

v <- c("a","b","c") 
cat(nl,file="textfile.txt",sep="\n") 

寫道

> a[CRLF] 
> b[CRLF] 
> c[CRLF] 

cat(paste(nl,sep="\n",collapse="\n"),file="t2.txt") 

寫道

> a[CRLF] 
> b[CRLF] 
> c 

我也嘗試過write.table(eol =「\ n」) - 不成功,因爲它似乎在內部使用cat。

我已查找其他解決方法; 我試圖找到某事。在R \ src \ main \ scan.c中找到第387ff行的相關代碼。

任何知道如何在輸出文件中獲得類UNIX的LF的人?

回答

2

嘗試打開「二進制」模式下的文件連接(而不是「文本」模式),以防止最終的線的依賴於​​系統的編碼:

v <- c("a","b","c") 
f <- file("textfile.txt", open="wb") 
cat(v,file=f,sep="\n") 
close(f) 
0

基於來自@答案xb

converter <- function(infile){ 
    print(infile) 
    txt <- readLines(infile) 
    f <- file(infile, open="wb") 
    cat(txt, file=f, sep="\n") 
    close(f) 
} 
相關問題