问题标签 [plr]

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.

0 投票
1 回答
3219 浏览

postgresql - 在 PL/R 中加载、列出和使用 R 模块和函数

我有困难:

  • 列出 PostgreSQL 可用的 R 包和函数。
  • 安装用于 PL/R的软件包(例如Kendall )
  • 在 PostgreSQL 中调用 R 函数

列出可用的 R 包

问题 1。您如何找出已加载的 R 模块?

这显示了可用的类型,但是检查是否Kendall( X, Y )已加载呢?例如,文档显示:

这似乎允许插入记录来指示Kendall要加载的内容,但以下代码在语法上并未解释如何确保加载它:

问题 2。如果您尝试加载,上面的行会是什么样子Kendall
问题 3。是否适用?

安装 R 包

使用“突触”包管理器安装了以下包:

问题 4。我怎么知道肯德尔是否在里面?
问题 5。如果不是,我如何找出它在哪个包中?
问题 6。如果它不在适合与apt-get( aptitude, synaptic, dpkg, 你有什么) 一起安装的软件包中,我该如何在 Ubuntu 上安装它?
问题 7。安装步骤记录在哪里?

调用 R 函数

我有以下代码:

此代码调用 PostgreSQL 函数corr来计算 Pearson 对数据的相关性。理想情况下,我想做以下事情(通过切换corrfor plr_kendall):

问题 8。我必须自己写plr_kendall吗?
问题 9。我在哪里可以找到一个简单的示例:

  1. 将 R 模块加载到 PG 中。
  2. 为所需的 R 函数编写 PG 包装器。
  3. 从 SELECT 调用 PG 包装器。

例如,最后两个步骤是否如下所示:

然后SELECT如上?

谢谢!

0 投票
1 回答
1820 浏览

r - 使用 R 的分级 GAM 结果的均方根偏差

背景

PostgreSQL 数据库使用 PL/R 调用 R 函数。计算 Spearman 相关性的 R 调用如下所示:

同样在 R 中,对拟合的广义相加模型 (GAM) 进行了简单计算:

这里x代表从 1900 年到 2009 年的年份,y是该年的平均测量值(例如,最低温度)。

问题

拟合的趋势线(使用 GAM)相当准确,如下图所示:

问题是相关性(显示在左下角)不能准确地反映模型与数据的拟合程度。

可能的解决方案

提高相关精度的一种方法是对分箱数据使用均方根误差 (RMSE) 计算。

问题

问题 1。您将如何在 R 语言中对分箱数据执行 RMSE 计算以获得 GAM 与测量值的相关性(0 到 1 之间)?

问题 2。有没有更好的方法来找到 GAM 对数据的拟合精度,如果有,它是什么(例如,均方根偏差)?

尝试的解决方案 1

  1. 使用观察量和模型 (GAM) 量调用 PL/R 函数:/li>
  2. 定义plr_corr_rmse如下(其中om表示观察到的和建模的数据):/li>

o - m是错的。我想通过计算mean每 5 个数据点(最多有 110 个数据点)来合并两个数据集。例如:

然后将 RMSE 计算更正为:

如何c( mean(o[1:5]), mean(o[6:10]), ... )在适当数量的 bin 中计算任意长度的向量(例如,5 可能不适合仅 67 次测量)?

我觉得hist这里不适合,是吗?

尝试的解决方案 2

以下代码将解决该问题,但它会从列表末尾删除数据点(以使列表可被 5 整除)。该解决方案并不理想,因为数字“5”相当神奇。

还有哪些其他选择?

提前致谢。

0 投票
2 回答
639 浏览

sql - 将查询结果返回到数组中

下面的代码片段创建了三个数组,它们被传递到一个 PL/R 函数中。

数组声明为:

我宁愿使用CREATE TYPE并传递一个数组,每个元素包含三个值。

您将如何对此进行编码以使其不使用FOR ... LOOP?

PL/R 函数的第一行是:

我想消除那行代码并简化SELECT查询。

谢谢你。

0 投票
1 回答
264 浏览

perl - 从 PL/R 中的 R 函数返回多个不同的数据结构

我一直在查看关于 SO 和其他地方的各种讨论,并且普遍的共识似乎是,如果从 R 函数返回多个不相似的数据结构,最好将它们作为 a 返回,list(a, b)然后由索引访问0等等1上。除了在 Perl 程序中通过 PL/R 使用 R 函数时,Rlist函数将列表展平,甚至对数字进行字符串化。例如

使用 adata.frame不起作用,因为返回的两个数组不是对称的,并且函数会发出嘶哑的声音。

那么,如何从由任意一组嵌套数据结构组成的 R 函数返回单个数据结构,并且仍然能够从 Perl 简单地访问每个单独的包$res->[0]$res->[1]或者$res->{'employees'}$res->{'pets'}更新:我正在寻找 Perl[[1, "foo", 3], [2, "bar"]]或什至的 R equiv[[1, "foo", 3], {a => 2, b => "bar"}]

附录:我的问题的主旨是如何从 PL/R 函数返回多个不同的数据结构。但是,如上所述,二级字符串化也是有问题的,因为我将数据转换为 JSON,所有这些额外的引号只会添加到服务器和用户之间传输的无用数据中。

0 投票
1 回答
177 浏览

r - plr中调用之间的持久数据存储

我有一个在进行自适应测试时使用 plr 与 R 对话的 Web 应用程序。我需要找到一种在调用之间持久存储静态数据的方法。

我有一个昂贵的计算来创建一个项目库,而不是在每次响应提交后获得下一个项目的许多便宜的计算。但是目前我找不到一种方法来持久存储昂贵计算的结果。

将它放入数据库似乎是很多开销。

我试图像这样保存并加载结果,但它似乎不起作用,第二个通知的结果是'itembank'。

我也尝试保存和加载工作区,但也没有成功。知道怎么做吗?

0 投票
1 回答
631 浏览

windows - 在windows上安装plr

我在 Windows 7(32 位)上有 Postgresql 9.0 我已经下载了 plr-8.3.0.13-win32 - 提取,将 dll 放在它的位置,编辑 env 变量并成功运行 plr.sql 命令。

但是,当我尝试运行应该直接与 R 对话的查询时,查询会冻结(永远不会停止执行,我什至无法取消它)。

我现在在两台不同的 Win7 机器上也有同样的经历,一台是 32 位,另一台是 64 位,还有 Postgres 9.1。我确定我在这里做错了什么,但我不知道是什么。

如果您知道如何解决此问题,请告诉我。非常感谢。

0 投票
1 回答
2895 浏览

postgresql - 在 postgres 9.2 上安装后,PL/R 找不到共享库

我试图让PL/R在我没有 root 访问权限的 linux 服务器上运行。安装本身可以使用以下命令正常工作:

LD_INCLUDE_PATH="$HOME/pgsql/include" LD_LIBRARY_PATH="$HOME/pgsql/lib:$HOME/lib/R/lib" PGDATA="$HOME/usr/pgsql/data" PG_LIB_DIR="$HOME/pgsql/lib" R_HOME="$HOME/lib/R" USE_PGXS=1 make

但是,当我尝试将 plr 扩展名添加到数据库CREATE EXTENSION plr;时,出现以下错误:

ERROR: could not load library "~/lib/postgresql/plr.so": libR.so: cannot open shared object file: No such file or directory

我在安装文档页面的底部读到我应该将库路径添加到 LD 配置文件/etc/ld.so.conf,但我没有 root 访问权限,我无法更改此文件。

有解决方法吗?

提前致谢

0 投票
2 回答
7073 浏览

postgresql - 未找到 PostgreSQL 过程语言“C”

我正在尝试在 PostgreSQL 9.2 数据库中使用PL/R过程语言。我已经安装了该plr语言,并且正在尝试将其添加到数据库中。当我运行命令时,CREATE EXTENSION plr;我收到以下错误:

当我列出数据库中的可用语言时,select * from pg_language;我得到

所以有一种语言c,但它不是大写字母(不确定这是否会有所不同)。

我想知道为什么plr扩展找不到C程序语言?

0 投票
2 回答
769 浏览

macos - 在 Mac Lion 上安装 PLR

我正在尝试在运行 OS X 10.7.5、Postgres 9.2 和 R 2.15.2 的 MacBook Pro 上安装 PL/R 8.3.0.13.1。我在网上找到了一个很好的 Windows 分步指南 ,但我找不到任何与 Mac 类似的东西。
当我运行这个命令时我卡住了[作为官方文档](http://www.joeconway.com/plr/doc/plr-install.html):

输出:

显然,这意味着我需要以某种方式创建 R_HOME、变量和/或位置......

知道怎么做吗?

0 投票
2 回答
262 浏览

osx-mountain-lion - 如何在 Mountain Lion 上安装 PL/R?搜索错误的路径?

我正在尝试在 Mountain Lion 10.8.2 上安装 PL/R,我已经从 r-project 安装了 R 2.15.3,从 KyngChaos 安装了 PostgreSQL 9.1。我从http://www.joeconway.com/plr/获得了 PL/R 8.3.0.14 。我已将展开的文件夹放入 /usr/local/pgsql/share/contrib 并 cd'd 进入该文件夹。

环境变量 $R_HOME 和 $CUSTOM_COPT 按照http://www.joeconway.com/web/guest/pl/r/-/wiki/Main/Installation_Mac中的说明设置,将它们写入 .bash_profile,并添加 /library /frameworks/r.framework/resources/bin 通过写入同一个文件到我的路径。

XCode 4.6 和命令行工具已安装。标准 C 头文件有多个副本,包括 stdio.h,例如 /usr/include/stdio.h。

下一步似乎是:

那没有用,然后我尝试:

然后页面更多的错误。

在我看来,make在错误的位置寻找标准头文件并且找不到它们。从我的阅读来看,该标志似乎是在-isysroot告诉gcc通过预先添加正常搜索路径来查找头文件使用/developer.../macosx10.6.sdk路径,并且我的机器上不存在此路径,我认为这是当前 Xcode 版本的标准。

所以,问题:

这个标志是由 /plr 中的Makefile以某种方式设置的,还是在其他地方设置的?无论哪种方式,我如何更改它以使make找到它需要的头文件?如果改变它确实是正确的做法?