我在以下方面遇到困难:
-
列出PostgreSQL可用的R包和函数。
-
安装程序包(例如
Kendall
)用于PL/R
-
在PostgreSQL中调用r函数
列出可用的R包
Q.
您如何确定已加载了哪些R模块?
SELECT * FROM r_typenames();
它显示了可用的类型,但是检查
Kendall( X, Y )
载入了吗?例如,
documentation
显示:
CREATE TABLE plr_modules (
modseq int4,
modsrc text
);
这似乎允许插入记录来指示
Kendall
将被加载,但以下代码没有从语法上解释如何确保加载:
INSERT INTO plr_modules
VALUES (0, 'pg.test.module.load <-function(msg) {print(msg)}');
Q. 2.
如果您试图加载,上面的行会是什么样子
肯德尔
?
Q.3.
是否适用?
安装R包
使用“synaptic”软件包管理器安装了以下软件包:
r-base
r-base-core
r-base-dev
r-base-html
r-base-latex
r-cran-acepack
r-cran-boot
r-cran-car
r-cran-chron
r-cran-cluster
r-cran-codetools
r-cran-design
r-cran-foreign
r-cran-hmisc
r-cran-kernsmooth
r-cran-lattice
r-cran-matrix
r-cran-mgcv
r-cran-nlme
r-cran-quadprog
r-cran-robustbase
r-cran-rpart
r-cran-survival
r-cran-vr
r-recommended
Q.4.
我怎么知道肯德尔在里面?
Q.5.
如果不是,我怎么知道它在哪个包裹里?
Q.6。
如果它不在适合安装的软件包中,
apt-get
(
aptitude
,
synaptic
,
dpkg
,你呢),如何在Ubuntu上安装它?
Q.7。
安装步骤记录在哪里?
调用r函数
我有以下代码:
EXECUTE 'SELECT '
'regr_slope( amount, year_taken ),'
'regr_intercept( amount, year_taken ),'
'corr( amount, year_taken ),'
'sum( measurements ) AS total_measurements '
'FROM temp_regression'
INTO STRICT slope, intercept, correlation, total_measurements;
此代码调用PostgreSQL函数
corr
计算皮尔逊与数据的相关性。理想情况下,我想做以下工作(通过切换
科尔
对于
plr_kendall
):
EXECUTE 'SELECT '
'regr_slope( amount, year_taken ),'
'regr_intercept( amount, year_taken ),'
'plr_kendall( amount, year_taken ),'
'sum( measurements ) AS total_measurements '
'FROM temp_regression'
INTO STRICT slope, intercept, correlation, total_measurements;
Q.8。
我要写吗
普里恩肯德尔
我自己?
Q.9。
在哪能找到
简单的
示例:
-
将R模块加载到pg.
-
为所需的r函数编写pg包装器。
-
从select调用pg包装器。
例如,最后两个步骤是否如下所示:
create or replace function plr_kendall( _float8, _float8 ) returns float as '
agg_kendall(arg1, arg2)
' language 'plr';
CREATE AGGREGATE agg_kendall (
sfunc = plr_array_accum,
basetype = float8, -- ???
stype = _float8, -- ???
finalfunc = plr_kendall
);
然后
SELECT
如上?
谢谢您!