Ubuntu Linux 中从剪贴板复制 R

2024-04-19

我想从 Ubuntu Linux 剪贴板复制到 R Studio 中。我的工作流程包括在 R Studio 和 LibreOffice Calc 之间来回移动。我找到了以下用于写入 Linux X11 剪贴板的代码,但我不知道如何读取它。

写入 X11 Linux 剪贴板:

clipboard <- function(x, sep="\t", row.names=FALSE, col.names=TRUE){
     con <- pipe("xclip -selection clipboard -i", open="w")
     write.table(x, con, sep=sep, row.names=row.names, col.names=col.names)
     close(con)
}

# Examples
vec <- c(1,2,3,4)

clipboard(vec)
clipboard(vec, ",", col.names=FALSE)
clipboard(vec, " ", row.names=TRUE)

如果我在 LibreOffice Calc 中突出显示一个选择,我想将其直接粘贴到 R Studio 中。我该如何完成这个任务?我已经在 Ubuntu 中安装了 xclip。

sudo apt-get install xclip

使用xclip

您只需反转一些选项和功能即可。

xclip命令的选项需要更改为output,函数write.table需要更改为read.table。

例如:

read.table(pipe("xclip -selection clipboard -o",open="r"))

使用文件()

您可以使用 Anando 提供的解决方案,但在该解决方案的当前描述中遗漏了一些细节。

命令read.table("clipboard")正在有效地使用该命令.Internal(file(description, open, blocking, encoding, method, raw)它分为几个选项

  • “X11_primary”(selected text)
  • “X11_secondary”(某些辅助复制字段仅由某些程序使用)
  • “X11_剪贴板”(copied text)

Ubuntu 16.04 以及可能更通用的 Linu:x 的情况

我无法在源代码中轻松找到它,但根据行为,“剪贴板”选项似乎默认为“X11_primary”(至少它在 Ubuntu 16.04 中具有相同的行为)。

如果你使用read.delim("X11_clipboard")代替read.delim("clipboard")然后您将获得复制的文本而不是选定的文本。

请注意,使用 X11_clipboard 时可能会出现错误,例如:

> read.table("X11_clipboard")
Error in file(file, "rt") : 
  X11 clipboard selection is not supported on this system

在这种情况下,您必须在您的系统(即操作系统,例如 Ubuntu)上安装 Xmu 头文件。我在我的例子中遇到了这个错误并通过使用解决了它

sudo apt-get install libxmu-dev
sudo apt-get install xorg-dev

不知道两个谁解决了。但是在此之后,当我从源代码重新编译 R-base 时,然后read.table("X11_clipboard")工作了。 (我无法通过从 Ubuntu 存储库安装来使其工作)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu Linux 中从剪贴板复制 R 的相关文章

  • 在 Kali (Debian) 中安装 mono-devel 时,软件包具有未满足的依赖关系

    我尝试安装 mono devel 并输入sudo apt get mono devel在终端中 但失败了 得到以下结果 apt get install mono devel Reading package lists Done Buildi
  • Linux 上的最大子进程数

    下面的代码将产生尽可能多的子级 自己不会进一步fork 一旦父进程退出就会变成僵尸 父进程将产生多少个子进程 int main int argc char arg while fork gt 0 子进程的数量可以通过以下方式限制设置限制 2
  • 如何在 Linux 中检测通过 GUI 登录的用户

    我想在我的程序中捕获通过 GUI 登录的用户名 我的程序作为守护进程从 root 登录运行 如果非 root 用户通过 GUI 登录 我的程序应该会收到通知 我正在粘贴我当前的程序 该程序调用一个 perl 脚本 利用系统调用来检查当前登录
  • 带插入符的主成分分析

    我正在使用 Caret 的 PCI 预处理 multinomFit lt train LoanStatus train method multinom std TRUE family binomial metric ROC thresh 0
  • 窗口放置:适用于 Linux (KDE) 的类似 WinSplit Revolution 的应用程序? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 适用于 Linux KDE 的类似 WinSplit Revolution 的应用程序是什么 或者也许 KDE 中有一个我缺少的功能 平铺通常是窗口管
  • R: Knit 给出 SQL-chunk 错误

    我想编织 R markdown 的输出 其中包括几个 SQL 块 但是 如果我开始编织 就会收到错误消息 Line 65 Error in eval expr envir enclos object pp dataset not found
  • ggplot2 每个方面的不同因子顺序

    我正在尝试创建一个克利夫兰点图 在本例中为 J 和 K 给出两个类别 问题是元素 A B C 都在这两个类别中 所以 R 一直放屁 我做了一个简单的例子 x lt c LETTERS 1 10 LETTERS 1 3 LETTERS 11
  • 如何将零件逐一添加到闪亮的图表中

    我正在尝试为我的统计课程制作一些演示 除此之外 我想展示所涉及的逐步过程 对于我正在寻找的简化示例 请考虑以下小玩具 R 函数 toyPlot lt function x lt 1 100 100 y lt x rnorm 100 0 0
  • R如何删除字符串中非常特殊的字符?

    我正在尝试删除字符串中的一些非常特殊的字符 我读过其他帖子 例如 从 R 中的字符串中删除所有特殊字符 https stackoverflow com questions 10294284 remove all special charac
  • R Notebook 预览中的奇怪字符

    当我预览 R Notebook 时 HTML 输出包含奇怪的字符 该块代码和输出 在 HTML 中呈现为 我应该如何解决这个问题 会话信息 R版本3 6 0 2019 04 26 平台 x86 64 w64 mingw32 x64 64位
  • 将模拟泊松分布添加到 ggplot

    我做了泊松回归 然后可视化模型 library ggplot2 year lt 1990 2010 count lt c 29 8 13 3 20 14 18 15 10 19 17 18 24 47 52 24 25 24 31 56 4
  • 将管道输入转储到文件的简单方法是什么? (Linux)

    我正在寻找一个小 shell 脚本 它可以将任何内容通过管道传输到其中 并将其转储到文件中 用于电子邮件调试目的 有任何想法吗 unix 命令 tee 可以做到这一点 man tee
  • dplyr:在 group_by 组中添加行

    有没有更好的方法来添加行group by 组比使用bind rows 这是一个有点笨拙的例子 df lt data frame a c 1 1 1 2 2 b 1 5 df gt group by a gt do bind rows dat
  • 使用 rollend 滚动 data.table

    我无法获取roll Inf定义时工作rollends FALSE When rollends未设置或设置为TRUE 我看到了预期的结果 我将不胜感激任何建议 library data table dt1 data table Date se
  • 如何在 R 中手动编写正态分布核的似然值?

    具体来说 如何编码 x 和 mu 之差的乘积 精度矩阵以及 x 和 mu 之差的转置 我下面的代码正确吗 提前致谢 colSums dat mu mat solve sigma colSums dat mu mat 其中 mu mat 是重
  • 在 R 中绘制非常大的数据集

    如何在 R 中绘制非常大的数据集 我想使用箱线图 小提琴图或类似的图 内存中无法容纳所有数据 我可以逐步读入并计算制作这些图所需的摘要吗 如果是这样怎么办 作为对我的评论的补充德米特里回答 https stackoverflow com q
  • ggplot for 循环输出所有相同的图表

    我编写了一个 for 循环 它遍历数据帧的列并使用 ggplot 为每列生成一个图表 问题是输出的图表都是相同的 它们都是最后一列的图表 我使用的代码是 library gridExtra library ggplot2 test1 lt
  • rbind 命名向量到不同长度的矩阵

    我正在尝试将命名向量绑定到矩阵上 命名向量的长度与矩阵不同 gt m lt matrix data c 1 2 3 nrow 1 ncol 3 dimnames list c c column 1 column 2 column 3 gt
  • 使用 cmake 和 opencv 对符号“gzclose”的未定义引用[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我尝试构建该项目 doppia https bitbucket org rodrigob doppia 但发生链接错误 我想这是一
  • 即使退出命令后,Shell 脚本仍继续运行

    我的shell脚本如下所示 bin bash Make sure only root can run our script EUID ne 0 echo This script must be run as root 1 gt 2 exit

随机推荐