从 python 执行 R 脚本

2023-11-25

我有一个 R 脚本,可以绘制一些图。我希望能够从 python 执行这个脚本。

我首先尝试:

import subprocess
subprocess.call("/.../plottingfile.R", shell=True)

这给了我以下错误:

/bin/sh: /.../plottingfile.R: Permission denied
126

我不知道126这个数字意味着什么。我的所有文件都在桌面上,因此我认为不需要任何特殊权限?我认为这个错误可能与 cwd = none 有关,但我改变了这一点,但仍然有错误。

接下来我尝试了以下操作:

subprocess.Popen(["R --vanilla --args </.../plottingfile.R>"], shell = True)

但这也给了我一个错误:

/bin/sh: Syntax error: end of file unexpected.

最近我尝试过:

subprocess.Popen("konsole | /.../plottingfile.R", shell = True)

这打开了一个新的 konsole 窗口,但没有运行 R 脚本。另外,我收到以下错误:

/bin/sh: /.../plottingfile.R: Permission denied

Thanks.


首先,确保您的 platttingfile.R 脚本位于您可以访问的位置。通常它是同一个目录。

我在互联网上读到有一个实用程序称为RScript用于执行R来自命令行的脚本。因此,为了运行该脚本,您可以像这样使用 python:

import subprocess
retcode = subprocess.call(['/path/to/RScript','/path/to/plottingfile.R'])

这将返回retcode成功完成后为 0。如果您的plottingfile.R 返回某种输出,它将被抛出到 STDOUT 上。如果它拉起一些 GUI,那么它就会出现。

如果你想捕获 stdout 和 stderr,你可以这样做:

import subprocess
proc = subprocess.Popen(['/path/to/RScript','/path/to/plottingfile.R'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()

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

从 python 执行 R 脚本 的相关文章

  • data.table 抛出“找不到对象”错误[重复]

    这个问题在这里已经有答案了 我有一个数据表 library data table mydt lt data table index 1 10 当我在全局环境中尝试它时 我可以让它工作 但当我在调试器中或在包测试中使用它时却无法工作 问题是我
  • 在ggplot中设置y轴中断

    我在代码中设置中断时遇到困难 我尝试添加breaks seq 0 100 by 20 但似乎无法让它正常工作 本质上我希望 Y 轴从 0 到 100 每 20 个刻度一次 YearlyCI lt read table header T te
  • Matplotlib 图例,跨列添加项目而不是向下添加项目

    对于下面的简单绘图 有没有办法让 matplotlib 填充图例 以便它从左到右填充行 而不是第一列然后第二列 gt gt gt from pylab import gt gt gt x arange 2 pi 2 pi 0 1 gt gt
  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • 使用 NumPy 编写一个函数来计算具有特定公差的积分

    我想编写一个自定义函数来以特定容差对表达式 python 或 lambda 函数 进行数字积分 我知道与scipy integrate quad人们可以简单地改变epsabs但我想使用 numpy 自己编写该函数 From 这篇博文 htt
  • 如何在Windows中的Python 3.9下pip安装pickle?

    我需要pickle https docs python org 3 9 library pickle html module pickle包安装在我的下面Python 3 9在 Windows 10 下 我尝试过的 当尝试与pip inst
  • Django 多对多关系(类别)

    我的目标是向我的 Post 模型添加类别 我希望以后能够按不同类别 有时是多个类别 查询所有帖子 模型 py class Category models Model categories 1 red 2 blue 3 black title
  • 为什么 re.findall 在查找字符串中的三元组项时不具体。 Python

    所以我有四行代码 seq ATGGAAGTTGGATGAAAGTGGAGGTAAAGAGAAGACGTTTGA OR 0 re findall r ATG 9 TAA TAG TGA seq 首先让我解释一下我正在尝试做什么 如果这令人困惑
  • 正在使用 PIL 保存损坏的图像

    我遇到一个问题 操作图像像素导致保存损坏的图像 因此 我使用 PIL 打开图像 然后将其转换为 NumPy 数组 image Image open myimage png np image np asarray image 然后 我转置图像
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上
  • Py2exe - Pmw WindowsError:[错误 3]

    我正在尝试使用 Py2exe 构建独立的可执行文件 我已经导入了 Pmw 类 当我运行独立可执行文件时 出现以下错误 Traceback most recent call last File py line 9 in
  • 更改 Matplotlib 投影轴的背景颜色

    我正在尝试使用 Cartopy 创建一个图形 该图形需要在未投影的轴上绘制投影轴 这是一个尽可能简单的代码版本 它将轴上的内容替换为背景颜色 import matplotlib pyplot as plt import cartopy cr
  • 使用 if 语句的网格网格和用户定义函数的真值不明确

    假设我有一个函数f x y 足够光滑 然而 有些值仅在有限的意义上存在 以sin x x的价值x 0只存在于极限 x gt 0 中 在一般情况下 我用一个来处理这个问题if陈述 如果我在情节中使用它meshgrid我收到一条错误消息 Val
  • 如何在matplotlib中调整x轴

    I have a graph like this x轴上的数据表示小时 所以我希望x轴设置为0 24 48 72 而不是现在的值 很难看到 0 100 之间的数据 fig1 plt figure ax fig1 add subplot 11
  • 从迭代器外部将 StopIteration 发送到 for 循环

    有几种方法可以打破一些嵌套循环 他们是 1 使用中断 继续 for x in xrange 10 for y in xrange 10 print x y if x y gt 50 break else continue only exec
  • Python 2.7 缩进错误[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题是由拼写错误或无法再重现的问题引起的 虽然类似的问题可能是on topic help on topic在这里 这个问题的解决方式不
  • 如何创建用于霍夫曼编码和解码的树?

    对于我的作业 我将对霍夫曼树进行编码和解码 我在创建树时遇到问题 并且陷入困境 不要介意打印语句 它们只是让我测试并查看函数运行时的输出是什么 对于第一个 for 循环 我从主块中用于测试的文本文件中获取了所有值和索引 在第二个 for 循
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • Python 相当于 Scala 案例类

    Python 中是否有与 Scala 的 Case Class 等效的东西 就像自动生成分配给字段而无需编写样板的构造函数一样 当前执行此操作的现代方法 从 Python 3 7 开始 是使用数据类 https www python org
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso

随机推荐

  • Google Maps V3 渲染超过 100 万个标记(在合理的时间内)

    我最近使用 API V3 最新版本 创建了一个 Google 地图 我的要求之一是能够渲染超过 100 万个标记 在合理的时间内 合理的时间应在 15 秒以下 我知道一次渲染所有 100 万个标记是相当疯狂的 这就是我研究性能选项的原因 我
  • 如何在 StreamSocket 的 ConnectAsync() 上设置超时值?

    在 Windows Phone 8 1 应用程序中 我必须按如下方式创建套接字 我如何更改它 以便它在我可以指定的时间段后超时 socket new StreamSocket await socket ConnectAsync hostNa
  • 如何提高[重复]的幂

    这个问题在这里已经有答案了 我对 C 很陌生 我试图将某事赋予某事力量 例如 5 3 125 但是当我编码时 include
  • GIT:不处理包含 unicode 字符的文件名(例如中文/韩文)

    Issues 在 GIT 中使用 ls 将文件名中的所有 unicode 显示为 即 mp3 使用 git add A 时返回以下错误 致命 无法统计 example mp3 没有这样的文件或目录 有针对这个的解决方法吗 Thanks As
  • 我应该扩展 ArrayList (is-a) 还是应该将其包含为成员 (has-a)?

    我正在制作一个简单的程序来维护一个数字列表 并且我希望这个列表也有一个名称 哪种方法是最好的方法 让我的列表类扩展 ArrayList 还是让它包含 ArrayList 成员 在这两种情况下 当然都会有一个 name 字符串成员 第一种方法
  • 如何使用 xml 或使用 java 更改按钮的形状?

    我想制作一个带有形状的自定义按钮 该怎么做 这是示例按钮 其内容为oval形状 的gradient表示起始和结束颜色以及角度 椭圆形的角 试试这个 提到这个的名字xml在按钮背景中android background drawable sa
  • PHP 根据一个字段的值将数组分成几组

    我有一个数组 其中包含按字母顺序排列的名称和其他详细信息的数组 每个数组都包含与名称关联的第一个字母 Array 0 gt Array 0 gt a 1 gt Alanis Morissette 1 gt Array 0 gt a 1 gt
  • 错误:找不到符号导入 com.gorav.news.databinding.ActivityDetailBindingImpl;

    我尝试构建应用程序 但不断收到 Users gouravkarwasara Desktop News2 app build generated source kapt debug com gourav news DataBinderMapp
  • 简化类道路系统的碰撞网格?

    如图所示 Unity 中有一个基于图块的道路或人行道系统 如图所示 我会看到刚体在其接缝处移动时会出现小凹凸 即使对于相同的垂直位置和比例 并且在每个图块使用盒式碰撞器时也是如此 有没有好的方法 例如将碰撞网格合并为一个超级简化且全平面的网
  • 如何从 delphi2007 win32 刻录 CD/DVD

    有没有好的库可以让我从 Delphi 2007 win32 刻录 CD DVD 谢谢 我知道有一对 Bayden 的 Delphi CD 刻录库 舞蹈哺乳动物免费的 Delphi CD 刻录库 Zyl Burner for Delphi 需
  • Slick 中的 Scala 投影仅针对一列

    我正在关注自动增量字段的精美文档示例我在创建一个时遇到问题映射投影那 好吧 只有一栏 case class UserRole id Option Int role String object UserRoles extends Table
  • CSS 动画或过渡可以用于 flex-direction 属性吗?

    如果有序列表使用flex direction column在小屏幕上和flex direction row在较大的屏幕上 CSS3 动画或过渡是否可以实现动画效果flex direction媒体查询之间的属性 初始页面设置 html box
  • 共享内存中的条件变量 - 此代码符合 POSIX 标准吗?

    POSIX 标准是否允许named包含互斥锁和条件变量的共享内存块 我们一直在尝试使用互斥锁和条件变量来同步同一计算机上两个进程对命名共享内存的访问 LynuxWorks LynxOS SE系统 符合 POSIX 一个共享内存块被称为 sy
  • C++11 为什么'decltype(x)'和'decltype((x))'的类型不同?

    我发现它们是不同的 并且语言标准规定了每个语句应该检索什么样的类型 变量和表达式之间的差异 但我真的很想知道为什么这两种类型应该不同 include
  • Bash if [ -d $1] 对于空 $1 返回 true

    所以我有以下小脚本并一直想知道 bin bash if d 1 then echo foo else echo bar fi 为什么调用时会打印 foo没有参数 测试 d 对于空字符串返回 true 是怎么回事 From info core
  • 响应发送到客户端后在 Django 中执行代码

    在我的 Django 应用程序中 我想跟踪响应是否已成功发送到客户端 我很清楚 像 HTTP 这样的无连接协议中没有 无懈可击 的方式来确保客户端已收到 并显示 响应 因此这不会是关键任务功能 但我仍然想在最晚可能的时间 响应不是 HTML
  • Pycharm 社区版:“无法显示框架变量”

    每当 Pycharm 在一个使用 Flask 的项目的断点处停止时 我就会在调试窗格 替换变量 中收到此错误 我创建了一个新项目来测试这一点 本项目中断点处显示的变量 但是 由于运行配置中存在不存在的文件而导致异常断点上没有显示它们 有人对
  • 向 Apache PHP 网络服务器发送 iPhone HTTP 请求

    我是一名具有游戏和 3D 图形背景的程序员 目前我想温习我的网络和 Web 开发技能 我有一个想要完成的任务来做到这一点 我的想法是 我希望能够发送 HTTP 请求或类似于我的网络服务器的东西 该服务器运行基于 LAMP 的设置 我想知道如
  • 为什么 require mongo 给我 LoadError: no such file to load -- openssl

    我正在使用 Ubuntu Server 10 Ruby 1 9 2 当我尝试要求 mongo 时 它给了我这个错误 irb main 001 0 gt require mongo LoadError no such file to load
  • 从 python 执行 R 脚本

    我有一个 R 脚本 可以绘制一些图 我希望能够从 python 执行这个脚本 我首先尝试 import subprocess subprocess call plottingfile R shell True 这给了我以下错误 bin sh