Search code examples
rloggingconsolerstudiorstudio-server

How to save output to console and file simultaneously in RStudio server?


I want to see the outputs of my calculations in the console, but simultaneously save it to a file. The sink() function is not suitable for me, since it simply redirects the output to a file, while I need to write them both -- in the console and in the file. Is it possible?


Solution

  • Looks like sink has an argument split which will send the output both to file and to the output stream (console). e.g.,

    > sink(file="test.file", split = TRUE)
    > head(iris)
      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
    > sink()
    > x <- read.csv("test.file")
    > x
        Sepal.Length.Sepal.Width.Petal.Length.Petal.Width.Species
    1 1          5.1         3.5          1.4         0.2  setosa
    2 2          4.9         3.0          1.4         0.2  setosa
    3 3          4.7         3.2          1.3         0.2  setosa
    4 4          4.6         3.1          1.5         0.2  setosa
    5 5          5.0         3.6          1.4         0.2  setosa
    6 6          5.4         3.9          1.7         0.4  setosa
    >