【发布时间】:2018-07-24 08:29:40
【问题描述】:
遗憾的是,您经常看到有关 SO 的问题以某种格式呈现数据
这是不可重现的;通常只是 print() 的复制结果 ...
set.seed(1)
x <- sample(LETTERS, 40, replace = T)
y <- rnorm(20)
...比如这样:
x
[1] "G" "J" "O" "X" "F" "X" "Y" "R" "Q" "B" "F" "E" "R" "J" "U" "M" "S"
[18] "Z" "J" "U" "Y" "F" "Q" "D" "G" "K" "A" "J" "W" "I" "M" "P" "M" "E"
[35] "V" "R" "U" "C" "S" "K"
...或者这个:
y
[1] 0.91897737 0.78213630 0.07456498 -1.98935170 0.61982575
[6] -0.05612874 -0.15579551 -1.47075238 -0.47815006 0.41794156
[11] 1.35867955 -0.10278773 0.38767161 -0.05380504 -1.37705956
[16] -0.41499456 -0.39428995 -0.05931340 1.10002537 0.76317575
理想情况下,我希望能够将文本从上面的块复制到我的剪贴板,并调用一些函数foo(),这样all.equal(foo(), x) 用于离散数据类型,all(near(foo(), y)) 用于浮点数(考虑到打印的准确性)。
有没有一种简单的方法可以(近似地)从print()'ing 的复制结果中重建一个简单的向量?
编辑:具有讽刺意味的是,我意识到我自己的示例并非完全可重现。这是创建复制的打印输出的代码:
y_printed <- capture.output(y)
【问题讨论】:
-
我可以想象一个简单的实现不会太难,所以虽然这样的实现当然是受欢迎的,但我更想知道这个功能是否已经在发布的包中可用。
-
如果有这样的功能并将其链接到插件、热键或狙击手,那就太好了。一些功能是日期检测,尝试用多个空格分隔以处理包含空格的字符值,检测是否有列标题,删除开始一行的
#字符,支持列表输出等...包datapasta对于您从网上复制粘贴的表格有类似的东西,但上次我检查它在 SO 表格上效果不佳。 -
@Moody_Mudskipper 是的,这很有用。考虑到软件包,似乎这样的东西非常适合增强 datapasta。
标签: r