我无法在调试模式下启动Rserve。 我在R:
中写了这些命令library(Rserve)
Rserve(debug=T, args="RS-enable-control", quote=T, port = 6311)
library(RSclient)
c=RSconnect(host = "localhost", port = 6311)
RSeval(c, "xx<-12")
RSeval(c, "2+6")
RSeval(c, "xx")
RSclose(c)
install.packages("fpc")
我将Rserve_d.exe放在R.dll文件所在的同一目录中。但是当我启动它并使用Rserve连接启动Tableau时,我无法在调试控制台中看到任何内容,只有这几行。
Rserve 1.7-3 () (C)Copyright 2002-2013 Simon Urbanek
$Id$
Loading config file Rserv.cfg
Failed to find config file Rserv.cfg
Rserve: Ok, ready to answer queries.
-create_server(port = 6311, socket = <NULL>, mode = 0, flags = 0x4000)
INFO: adding server 000000000030AEE0 (total 1 servers)
我在R中使用Rserve(TRUE)命令尝试了另一种解决方案,但我无法在Rstudio控制台中看到R和Tableau之间的事务。
然后我想通过print(.arg1)从R脚本函数打印R中变量的输出。但R控制台中没有任何内容 但是当我在R控制台中运行打印时,它可以正常工作。
答案 0 :(得分:0)
根据此article *,应使用以下命令运行RServe以启用调试:
R CMD Rserve_d
另一种方法是在调用R脚本的计算字段中使用'write.csv'命令,如this FAQ document from Tableau
所示答案 1 :(得分:0)
从命令行启动Rserve_d.exe。很可能您有多个Rserve实例正在运行,Tableau正在向在命令行中运行的非Rserve_d的请求发送请求。
您是否尝试杀死所有Rserve进程,然后从命令行启动Rserve_d?
如果您不想从命令行运行,可以尝试在RStudio中启动Rserve,方法是键入run.Rserve()
,然后在Tableau计算字段中使用print()
语句查找要打印的内容
答案 2 :(得分:0)
在R bin目录中,有两个可执行文件Rserve用于正常执行,Rserve.dbg用于调试执行。使用
R CMD Rserve.dbg
我的操作系统是CENTOS7,我正在使用anaconda的R安装。如果您的RServe调试可执行文件具有不同的名称,您应该使用它。