You are here: 罗斯克斯 > rcaller.

rcaller.

Executes an R script that has the ability to access feature data from a temporary R data frame.输入数据以表的形式设置为R数据帧。R数据帧是类似于支持不同类型列的关系数据库的表。有关R数据帧的更多信息可以在以下位置找到:

http://www.r-tutor.com/r-introduction/data-frame.

此变换器要求系统具有R和安装的SQLDF包以运行。看到安装R.在使用说明部分。

可以创建任意数量的输入数据帧,每个输入数据帧将被分配一个输入端口。只要它们为表所定义的每列的值提供值,就可以路由到该输入端口。R脚本可以涉及输入中定义的任何和所有数据帧和列。输出取自FMEOUTPUT.用户可以使用任何输入表的统计分析结果填充数据帧。

Any number of input ports can be created either by connecting to the连接输入端口或通过编辑变压器属性并手动添加新输入或通过从现有功能类型导入端口定义。导入时,表定义将不会自动更改为源更改,如果属性名称在上游更改,则需要在表参数中手动调整相应的表列的名称。用户需要手动公开将从列名称导入的输出属性FMEOUTPUT.运行时的数据帧。

该success of the translation relies on the user supplying a valid R Script that adheres to proper R syntax. A guide on the R Language is listed below:

https://cran.r-project.org/doc/manuals/r-release/r-lang.html.

要了解有关如何使用R并为不同类型的统计分析获取想法的更多信息,建议使用以下链接:

http://www.r-bloggers.com/how-to-learn-r-2/

http://www.r-tutor.com/r- introduction.

Parameters

Inputs

Rcaller需要定义一个或多个表,这将成为变压器的输入端口。该进口…按钮提供了一种快速方法,可以从工作区中的源功能类型填充输入表定义。

注意:For performance reasons, you should define as few columns as possible.

请注意,某些FME属性和表名称可能在R中作为数据帧或列名(显着性地属性名称)无效(以下划线“_”)。为避免问题,这些名称将转换为有效的R名称。调整后的名称将显示在脚本编辑器左侧的“数据框”部分中。

r script.

rcaller具有单个输出端口。在脚本中创建的属性需要由用户输入曝光的属性参数才能使这些出现在后续变换器或数据检测器表视图中。在功能上设置的属性由设置的列确定FMEOUTPUT.运行时的数据帧。有用的编辑器用于构造R脚本,并提供可在脚本中使用的数据帧,列和发布以及私有参数的方便拖放访问权限。

输出的特征数将取决于最大列的长度FMEOUTPUT.数据帧。以这种方式,Rcaller可用于输出单个值,或列表或值矩阵。

A note on table contents:为输入端口定义的数据帧需要源特征的属性来执行查询的源特征。它们不必 - 并且不应该 - 包含额外的属性。

有关路由到输入端口的功能的注释:路由到输入端口的功能应在它们上具有属性,该属性与为输入端口数据帧定义的模式匹配。如果没有,将插入空值,以代替为输入表定义的列的缺失属性。上游attributerenamer.要么NullAttributeMappercan be used to ensure that attribute values are present for defined columns.

Example

示例R脚本计算数字列表的均值和中位数

列表<-c(1,2,2,2,3,3,3)

fmeoutput <-data.frame(均值=均值(列表),中位数=中位数(列表))

在上面的例子中,您可以分配listto the value of a numeric input table column (for example,列表<-myInput $ testcolumn)

该output of this script will be a single feature with outputs意思中位数

扩展上面的示例以使用数据集的值

想象一下,您有来自附近公园的源树数据,包括树干直径属性,直径.

如果数据集名称是Trees,当您将数据集连接到rcaller时,输入端口Treeswill be created.

Ensure in the Columns section of the Inputs that直径是一个数字数据类型。

在R脚本部分,指定FMEOUTPUT.<-data.frame(MeanDiameter=mean(Trees$Diameter))will calculate the mean diameter of the trees.

Specifying意味着意思在里面曝光的属性参数将暴露平均直径属性,使得可以在工作流程中稍后使用它。亚搏在线

使用说明

安装R.

To use this transformer, you must install both R and the sqldf package.

安装R翻译

Download R Installers from:

https://www.r-project.org/

视窗:

Install R following the usual Windows installation steps.

有关更多信息,请参阅https://cran.r-project.org/bin/windows/base/.

Mac and Linux:

要在Mac OS X上安装R,您可以从以下内容下载最新的R图像:

https://www.r-project.org/

或者,或者使用Homebrew,Package Manager命令:

酿造安装R.

This requires the homebrew package manager to be installed on the system. Homebrew can be downloaded from:

http://brew.sh/

为了在Linux上安装R,建议使用包管理器。

Installing the sqldf package

  1. Open an R command prompt.
    • 视窗:在“开始”菜单中右键单击它并选择“以管理员运行......”,将R GUI作为管理员运行。您应该使用与FME版本 - 64位或32位匹配的版本。
    • Mac: Launch the R Console.
  2. Run the following command at the R command prompt:
    install.packages("sqldf")
  3. 这将启动一个窗口,提示您选择下载镜像。选择镜像后,SQLDF包将安装在系统范围内R库。重要的是,这是通过管理权限完成的,否则包将安装到用户库,并且FME将无法使用它。
  4. To verify that sqldf was installed correctly, check the location listed when you run
    .libpaths()
    在命令行。应该有一个名为“sqldf”的文件夹。

使用共享资源

Optionally, you can place your R libraries in a shared resources folder. The location of this folder is set in Workbench underTools > FME Options > Default Paths > Shared FME Folders.

在Windows中,R默认情况下,文件夹位于文档> FME>插件.

将由FME拾取到R文件夹中的其他模块。

Troubleshooting Tips

仔细检查输入表上的类型。如果要对某些列进行数字计算,请确保将它们配置为数字类型

指定R翻译

FME will try its best to find R as installed on your system; however, if R is installed in a non-default location, or you have multiple R interpreters installed, it may be necessary to specify ther翻译路径under工具> FME选项>翻译> R翻译

编辑变换器参数

使用一组菜单选项,可以通过引用工作区中的其他元素来分配变压器参数。一些变压器也可提供更高级的功能,例如高级编辑器和算术编辑器。要访问这些选项的菜单,请单击除适用的参数旁边。有关更多信息,请参阅变压器参数菜单选项.

变压器类别

Format Specific

一体化

罗斯克斯

搜索FME知识中心

搜索有关此变压器的样本和信息FME Knowledge Center.