См. Страницу справки из help(connections)
и документацию по функции pipe()
.
Вот полный (но бессмысленный) пример, где мы пишем CSV-файл
R> write.csv(iris, file="/tmp/iris.csv", row.names=FALSE)
а затем просто используйте cat
, чтобы показать его содержимое на stdin, и прочитайте это через read.csv()
из pipe()
:
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>