2012-01-21 54 views

回答

7

請參閱help(connections)的幫助頁面和pipe()函數的文檔。

這裏是我們寫了一個csv文件的完整(但無意義)例如

R> write.csv(iris, file="/tmp/iris.csv", row.names=FALSE) 

,然後只用cat顯示其標準輸入的內容,並從pipe()讀取通過read.csv()

R> newiris <- read.csv(pipe("cat /tmp/iris.csv")) 

我們得到的是什麼,我們有,預計:

R> head(newiris) 
    Sepal.Length Sepal.Width Petal.Length Petal.Width Species 
1   5.1   3.5   1.4   0.2 setosa 
2   4.9   3.0   1.4   0.2 setosa 
3   4.7   3.2   1.3   0.2 setosa 
4   4.6   3.1   1.5   0.2 setosa 
5   5.0   3.6   1.4   0.2 setosa 
6   5.4   3.9   1.7   0.4 setosa 
R> all.equal(iris, newiris) 
[1] TRUE 
R> 
+0

天哪,剛剛給了我管道(「貓」/ dev/stdin「)'的想法。我現在覺得很骯髒,但它做到了。 –

相關問題