Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Using Nested R Functions with Qlik Sense Extension, R, and Open CPU Integration Approach with Open CPU Defaults?

Hello, as someone with a fair amount of R experience who is brand new to Qlik, I was very excited to find some of the work that has been done to create Qlik Sense Extensions that use R's capabilities via Open CPU:

Unfortunately, I am struggling to figure out how to use some basic R commands in this setup because I will have to use the default Open CPU R packages and so cannot create custom R functions as in GitHub - aasensior/sense-r: Functional examples on integrating Qlik Sense and R.

For example, how would one return the R console output for the summary (to see significance levels and more) of a linear regression object in this setup?  In R, using the packaged "cars" dataset, that might be done with "summary(lm(cars$speed~cars$dist))".  However, I am not sure how to nest the "lm" function within the "summary" function, especially when the "summary" function is found in https://public.opencpu.org/ocpu/library/base/R/ and "lm" in https://public.opencpu.org/ocpu/library/stats/R/.

The function "lm" alone is used around line 69 in https://raw.githubusercontent.com/nodtvedt/qlik-sense-r-regression-extension/master/qlik-sense-r-reg....

How would that script need to be changed to return the summary of the linear regression object instead?

These may be beginner questions, but any help would be greatly appreciated!

1 Reply
Not applicable
Author

There is a function summary.lm (look at https://public.opencpu.org/ocpu/library/stats/R/). This can be called with the result of the lm function.

OpenCPU - JavaScript Client‌ explains how to combine function calls by sending the session key of the first function call (lm) to the summary.lm function.

An example:

var req1 = ocpu.call("rnorm", {n: 100}, function(session1){
    var req2 = ocpu.call("var", {x : session1}, function(session2){
        session2.getObject(function(data){
            alert("Variance equals: " + data);
        });
    });
});