问题标签 [rscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 将 RScript 生成的绘图留在屏幕上,直到用户交互
我有一个 R 脚本,它查询数据库、运行一些分析、根据当前系统日期绘制一些图表。
我想让这个脚本每天在启动时运行,我想我可以很简单地使用带有必要参数的 rscript.exe 快捷方式来做到这一点。
这工作正常,但是脚本在运行后退出,对于查看图表不是很有用。
我用的是XP和win7。
有没有一种简单的方法可以将脚本的输出保留在屏幕上?我尝试将扫描合并到脚本中,但它不会暂停。
我知道我可以打开 rgui 并运行一行代码,但计划是将其部署到完全不熟悉 R 的同事的计算机上。
r - 无法从 Rscript 批处理文件中调用 roxygenize 函数
我正在编写一个使用 roxygen2 自动对我的包进行 roxygenize 的脚本。我希望它是可执行的,以便它可以成为准备和安装包的更大脚本的一部分,但由于某种原因我不能使它与 Rscript 一起使用。
这是代码:
如果我启动交互式 R 会话或使用 R CMD BATCH 提交代码,这将正常工作。但是,如果我通过 Rscript 直接将脚本作为可执行文件运行,我会得到这个输出和错误(无论脚本是在当前目录还是 bin 中,我都会得到错误)。
看起来 setPackageName 在 base R 中,所以我不知道为什么它不存在。此外,我在许多其他情况下使用 Rscript,这似乎是它失败的唯一地方。
任何帮助深表感谢。
r - 如何测试 R 是否作为 Rscript 运行?
我在单个 R 文件中有代码,我希望能够在开发期间在 RStudio 中获取(即定义我的函数等),并且还可以#! /usr/bin/env Rscript
通过命令行使用语法运行(实际上,使用 Hadoop)。对于后者,我需要做的最后一件事是Rscript
开始分析(即,使用对main()
函数的调用)。对于前者,我不想main()
调用我的函数。我希望能够测试代码是否在 Rscript 中运行(或者,在 RStudio 中),以便我可以执行main()
或不执行。请问这样可以吗?
一种解决方案是将我的代码分成多个文件,但如果可能的话,我宁愿避免这种情况(使 Hadoop 的东西更容易一些)。
提前致谢。
r - R 脚本和库预加载?
我创建了一个 R 脚本,它需要先加载一些库。
问题是脚本需要 1.6 秒来完成它的计算(用 Linux 命令“时间”测量了很多次),而加载库只需要 0.7 秒!
该脚本经常运行,因此库加载的延迟几乎占实际工作负载的 80%!
有什么方法可以预先加载库,以便每次脚本运行时都不会加载它们?
有什么其他建议可以绕过这种缓慢吗?
r - R 脚本耗尽内存 - Microsoft HPC 集群
我有一个带有以下源代码的 R 脚本:
D_G.txt 是一个巨大的文件,大约 5 GB。
现在,计算是在 Microsoft HPC 集群上执行的,因此,如您所知,当我提交作业时,它会在不同的物理节点上“拆分”;就我而言,每个都有 4 GB 的 RAM 内存。
好吧,经过一段时间后,我收到了臭名昭著的错误cannot allocate vector of size xxx Mb
消息。我尝试使用限制可用内存的开关:
但没有任何改变。
我已经尝试了 32 位和 64 位的 Rscript 2.15.0,但没有成功。
r - R 程序的 Web 界面
我必须开发一个 Web 界面,允许用户输入一些输入,这些输入将作为参数传递给 Rscript 并将结果返回给用户。
对于做过类似网络界面的人,我有一些问题:
- 使用哪个 Web 框架
- 什么是通信 Web 界面和 Rscripts 的最简单方法(在 Web 应用程序架构中)
- 我应该在服务器上安装 R(如果是,如何从 Web 界面启动 Rscripts)
r - 使用 Rscript,有没有一种不错的方法来抑制非脚本输出?
可能重复:
R 从依赖项中抑制启动消息
我已经阅读了有关使用sink("NUL")
/sink("/dev/null")
的信息,但它们都没有解决我遇到的问题。即使我将library()
命令包装在sink("NUL")
and中sink()
,我对 Rscript 的调用也会输出我不想看到的各种信息:
最后的东西是我真正想要的唯一输出,也是我似乎能够用sink()
命令抑制的唯一输出。似乎真的应该有一个参数来抑制这个输出(如果我的脚本在控制台中Rscript
,它甚至不会出现)......任何输入?source
php - 使用 PHP exec() 函数时 R 包无法正常工作
更新:已解决 我发现了这个问题。
使用 .libPaths() 函数,我能够确定在通过 PHP 运行 Rscript 时,安装 HH 包的默认目录不包含在库路径中,即使当 R 通过命令提示符。
我已经通过单独调用 .libPaths('new/file/path'); 解决了这个问题。在我动态创建的语法中。当我这样做时,测试 <-require('HH'); 测试; 返回真;
感谢所有帮助过的人。
我正在创建一个 PHP 脚本,它将在 R 中运行一些分析。此分析需要 hov.bf() 函数,它是HH包的一部分,但所有 R 输出(以及可能与 R 相关的进程) 从调用 hov.bf() 函数的行停止。如果我尝试通过 library('HH'); 加载 HH 库,则会出现相同的症状。令我困惑的是,通过(Ubuntu)命令提示符运行时,完全相同的 R 语法代码执行并输出所有打印语句(基本和 HH 函数)而没有错误。
代码概览:
PHP 创建 R 语法并写入文件 Rsyntax.txt。以下一些行位于 R 语法文件中:
生成语法文件后,PHP 然后运行:
当通过 PHP 运行时,输出文件将包含在调用 hov.bf() 之前创建的所有输出,但在此调用之后似乎没有运行任何内容。也就是说,“hello-1”存在于输出文件中,但“hello-2”和 hov.bf() 调用下的所有其他输出不会写入文件。但是,当我将 PHP 的 exec() 中的确切命令复制并粘贴到 Ubuntu 的命令提示符时,它会毫无问题地运行所有R 语法。我还尝试将 .Rprofile 设置为在加载 R 时默认加载 HH 包,但这并没有通过 PHP 解决问题。
如果有人有任何想法,我将不胜感激。我已经没有什么想法了。
谢谢你。
r - 替换 R 中的行
在 R 中,我正在使用 csv 读取带有注释的文件
该文件如下所示:
现在我使用提取未注释的行
这让我:
我正在通过一些单独的脚本修改这些数据,该脚本维护行数/列数,并希望将其放回原始读取数据(带有用户评论)并像这样将其返回给用户
由于我在 read.data 中提取的数据保留了行名 row.names(read.data),所以我尝试了
但这不起作用,我得到了一堆 NA/s
有任何想法吗?