2012-01-27 88 views

回答

20

从帮助文件base::connections

的Mac OS X用户可以使用管道( “pbpaste”)和管道( “pbcopy”, “W”)读取和写入到系统的剪贴板。

+1

我对R一无所知,但我很好奇为什么'writeClipboard'和'readClipboard'没有在OS X上实现,如果它们是R的标准库的一部分。 – bames53 2012-01-27 16:38:38

+0

@ bames53这些功能似乎是一个仅限于Windows的扩展。他们实际上没有记录在在线手册中 - 帮助文件实际上是关于从X11剪贴板中读取的,这是R似乎默认能够做到的唯一事情。 – millimoose 2012-01-27 16:45:37

+0

我没有觉得这个答案有帮助。这个答案是更有教育意义的:http://stackoverflow.com/questions/14547069/how-to-write-from-r-to-the-clipboard-on-a-mac?lq=1 – Hugh 2015-08-05 02:59:13

8

是的。卡尔是完全正确的。最好的方法是使用pbpaste/pbcopy。

下面是在细节上的好文章:http://langui.sh/2010/11/14/pbpaste-pbcopy-in-mac-os-x-or-terminal-clipboard-fun/

罗布


二〇一三年十月十七日 - 更新:由于R 3.0的kmisc包中包含多的read.cb()函数平台剪贴板使用。从@ agstudy的答案在这里引用:https://stackoverflow.com/a/14547293/168689

+0

为什么不把它添加为如果你指的是卡尔的回答,那么对它的评论呢? – millimoose 2012-01-27 16:35:54

+2

这是一个错误。我查找了回复选项,但没有看到它。对不起,关于:) – Rob 2012-01-27 16:57:42

+3

@Inerdial由于某种原因,它是stackoverflow的功能,你不能留下评论,直到你有50名声誉http://stackoverflow.com/privileges/comment。让Rob摆脱同情。 – GSee 2012-01-28 02:45:36

3

对于Mac的通用剪贴板阅读,语法是:

indat<-scan(pipe("pbpaste"),what=character(),...) 

...这里只是一个占位符,抬头看scan帮忙看看你有很多选择(scan默认是参数期望double变量; character可能是最安全的通用副本,或者你可以选择任何适合你的情况)。

同样,粘贴进了Mac剪贴板,通用Mac的语法是

outdat<-"Hi There!" 
cat(outdat, file=pipe("pbcopy","w"), ...) 

注意,几乎相同的语法应该在Windows和Linux以及工作;您应该使用通用连接名称"clipboard"替换pipe调用。

上面提到的Kmisc包函数仅适用于数据框和表格数据,而不适用于通用复制/粘贴。