Reputation: 1694
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
?
Upvotes: 7
Views: 392
Reputation: 51
Take dat <- head(iris)
for example:
dat <- head(iris)
Install the packages--> "datapasta"
#install.packages(c("datapasta"), dependencies = TRUE)
Use dpasta (note: only works if you're using RStudio)
datapasta::dpasta(dat)
output-->
named list()
> 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 = as.factor(c("setosa","setosa",
+ "setosa","setosa","setosa","setosa"))
+ )
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
Copy to the clipboard ( using Rstudio )-->
datapasta::dmdclip(dat)
Upvotes: -1
Reputation: 52069
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")
)
Upvotes: 4
Reputation: 35584
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 = ""))
Upvotes: 9