将R与Tableau连接时如何返回向量?

时间:2015-07-28 01:31:20

标签: r tableau calculated-field rserve

我试图通过Tableau计算字段返回向量。根据下面的链接,Tableau可以使用通过计算字段与R的连接来接收单个值或向量。

http://community.tableau.com/docs/DOC-5313

见:

  

" ...如果R代码返回值矩阵,Tableau将不知道该怎么做,我们必须返回单个值或向量,..."

这是我在计算字段中的内容,其中参数1和参数2只是任意值(仅用于演示目的):

SCRIPT_REAL ('testvector <- c(.arg1, .arg2); testvector',min([Parameter 1]), min([Parameter 2]))

我预计会返回一个向量,但我收到以下错误消息:

## Error: Unexpected number of results returned by SCRIPT function.  Function expected 1 values; 2 values were returned. 

2 个答案:

答案 0 :(得分:2)

你实际上并没有返回一个值;只需在Rserve环境中分配3个向量。您需要在分配后返回testvector

SCRIPT_REAL('column1 <- c(.arg1, .arg2); 
            column2 <- c(.arg3, .arg4); 
            testvector <- c(column1,column2);
            testvector', 
            min([Parameter 1]), min([Parameter 2]),min([Parameter 3]), min([Parameter 4]))

答案 1 :(得分:0)

如果您使用此计算字段的表格中有1行且Parameter1值为9且参数2值为5,并且您发布了代码示例,那么您创建的矢量看起来像(9,5)它有2行。

因此表1行但计算字段返回2行。因此出现错误消息

&#34;功能预期1个值;返回了2个值。&#34;

如果您想要回传矢量,则需要传递矢量。您可以查看R integration introductory blog post上的k-means聚类示例,该示例传递包含Iris数据集的几个向量,并通过聚类分配获得向量。