How to make the output of dput be displayed in one line in R?
How to copy to the clipboard the string obtained with dput?
How to make the output of dput be displayed in one line in R?
How to copy to the clipboard the string obtained with dput?
To copy paste directly the output of dput, you can use write.so with write_clip = T from the read.so package:
#devtools::install_github("alistaire47/read.so")
library(read.so)
write.so(head(iris), write_clip = TRUE)
output
iris <- data.frame(
Sepal.Length = c(5.1, 4.9, 4.7, 4.6, 5, 5.4),
Sepal.Width = c(3.5, 3, 3.2, 3.1, 3.6, 3.9),
Petal.Length = c(1.4, 1.4, 1.3, 1.5, 1.4, 1.7),
Petal.Width = c(0.2, 0.2, 0.2, 0.2, 0.2, 0.4),
Species = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("setosa", "versicolor", "virginica"), class = "factor")
)
Take dat <- head(iris) for example:
dput() displayed in the console:cat(capture.output(dput(dat)), "\n", sep = "")
Output:
structure(list(Sepal.Length = c(5.1, 4.9, 4.7, 4.6, 5, 5.4), Sepal.Width = c(3.5, 3, 3.2, 3.1, 3.6, 3.9), Petal.Length = c(1.4, 1.4, 1.3, 1.5, 1.4, 1.7), Petal.Width = c(0.2, 0.2, 0.2, 0.2, 0.2, 0.4), Species = structure(c(1L, 1L, 1L, 1L, 1L, 1L), levels = c("setosa", "versicolor", "virginica"), class = "factor")), row.names = c(NA, 6L), class = "data.frame")
writeClipboard(paste(capture.output(dput(dat)), collapse = ""))