【问题标题】:Display html return of R function with OpenCPU使用 OpenCPU 显示 R 函数的 html 返回
【发布时间】:2014-03-18 21:26:32
【问题描述】:

我创建了一个 R 函数,它使用 rCharts 生成数据表。它看起来像这个例子: http://rcharts.io/viewer/?7073104#.Uyi3oa15Peg R 函数返回带有return(td2) 的表。 这应该是一个 html 元素

然后我想创建一个 JavaScript 函数,它在 OpenCPU 上调用这个 R 函数并在 div 中显示返回的 HTML 元素。用于例如以下代码来显示另一个函数的返回图:

 $("#submitbutton").click(function(){

    ocpu.seturl("http://public.opencpu.org/ocpu/github/.../R") #shortened
        var key = $("#key").val();  
        var name = $("#name").val();

        var req = $("#plotdiv").rplot("MapInfluencers", {
            username : name,
            api_key : key
        });

        //optional
        req.fail(function(){
            alert("R returned an error: " + req.responseText); 
        });
    });

但现在我必须显示一个 html 元素,但我在 OpenCPU 库中找不到可以执行此操作的函数。

【问题讨论】:

  • 可以在jsfiddle上发一个例子吗?
  • 当涉及到 HTML 和 OpenCPU 时,我编写了一个函数将其保存到文件中,然后将其添加为 dom 中 iframe 的 src 属性。
  • 在此处查看使用上述方法的此应用程序。将dTable(mtcars) 粘贴到编辑器中并点击提交。您将在右侧看到一个数据表。 rcharts.io/playground。 Playground 的源代码是here。

标签: javascript jquery html r opencpu


【解决方案1】:

假设您有一个函数savePlot,它将绘图保存在 html 文件中并返回其名称。

在您的脚本中:

var req = ocpu.call(
"savePlot", {
    ......
},
function(session) {
    session.getObject(function(filename) {
        var outputlink = session.getLoc() + "files/" + filename;
        $('#iframe').attr("src", outputlink);
    })
}
);

在你的身体里:

<iframe id="iframe" width="600" height="300"></iframe>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-31
    • 1970-01-01
    • 2021-01-12
    • 2021-09-18
    • 2020-04-17
    • 1970-01-01
    相关资源
    最近更新 更多