【问题标题】:R: Function to copy to clipboard on Mac/OSX? [duplicate]R:在 Mac/OSX 上复制到剪贴板的功能? [复制]
【发布时间】:2012-01-27 15:25:47
【问题描述】:

我在R 中看到了Windows function to copy to the clipboard。 Mac OSX 是否有等效功能?

【问题讨论】:

    标签: macos r clipboard


    【解决方案1】:

    来自base::connections的帮助文件:

    Mac OS X 用户可以使用 pipe("pbpaste") 和 pipe("pbcopy", "w") 来读取和写入该系统的剪贴板。

    【讨论】:

    • 我对 R 一无所知,但我很好奇,如果 writeClipboardreadClipboard 是 R 标准库的一部分,为什么它们不会在 OS X 上实现。
    • @bames53 这些功能似乎是仅限 Windows 的扩展。它们实际上并没有记录在在线手册中——帮助文件实际上是关于从 X11 剪贴板中读取数据,这是 R 似乎默认情况下唯一能够做的事情。
    • 我没有发现这个答案有帮助。这个答案imo更有启发性:stackoverflow.com/questions/14547069/…
    【解决方案2】:

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

    这里有一篇好文章详细介绍:http://langui.sh/2010/11/14/pbpaste-pbcopy-in-mac-os-x-or-terminal-clipboard-fun/

    罗伯


    10/17/2013 - 更新:从 R 3.0 开始,kmisc 包包含用于多平台剪贴板使用的 read.cb() 函数。此处引用@agstudy 的回答:https://stackoverflow.com/a/14547293/168689

    【讨论】:

    • 如果您仍然提到它,为什么不将此作为评论添加到 Carl 的答案中?
    • 那是个错误。我寻找回复选项,但没有看到它。对此感到抱歉:)
    • @Inerdial 出于某种原因,stackoverflow 的一个特性是,在您拥有 50 个声望 stackoverflow.com/privileges/comment 之前,您不能离开 cmets。出于同情 +1 抢劫。
    【解决方案3】:

    对于 Mac 中的通用剪贴板读取,语法为:

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

    这里的... 只是一个占位符,查看scan 帮助以查看非常您有许多选项(scan 默认是期待double what 参数中的变量;character 对于通用副本可能是最安全的,或者您可以选择适合您情况的任何内容。

    同样,对于粘贴到 Mac 剪贴板,通用的 Mac 语法是

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

    请注意,几乎相同的语法应该也适用于 Windows 和 Linux;您应该将pipe 调用替换为通用连接名称"clipboard"

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-12
      • 2011-04-08
      • 2015-06-23
      • 1970-01-01
      • 2013-04-07
      • 2021-09-23
      • 2015-08-27
      • 2015-08-31
      相关资源
      最近更新 更多