← Back to team overview

dhis2-devs team mailing list archive

Re: DHIS2 with R

 

OpenXdata is looking at R integration over Hibernate, aiming to have a
web based analytical tool similar to RCmdr/SPSS:

"RCmdr is an R package that provides a user interface which is quite
similar to SPSS, perhaps the most popular package used for statistical
analysis by study designers and public health researchers. RCmdr
provides functionality that broadly mimics that of SPSS."

http://code.zegeba.org/openxdata/raw-attachment/wiki/Statistical_package/Analytics%20pres.pdf
http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/

Hopefully, some of this work can be leveraged for DHIS2 later.

Knut

On Thu, May 27, 2010 at 12:26 PM, Bob Jolliffe <bobjolliffe@xxxxxxxxx> wrote:
> On 27 May 2010 11:15, Jason Pickering <jason.p.pickering@xxxxxxxxx> wrote:
>> Hi Bob,
>>
>> Yes, I suspect that most R users would probably want to do things
>> their own way. It has a rather steep learning curve. :)
>>
>> As for canned R scripts, the best way would probably with with PL/R, a
>> procedural Postgresql language which utilizes R.
>>
>> http://www.joeconway.com/plr/doc/index.html
>>
>> I have done some very basic testing and it seems to work just fine on
>> the server side.
>
> Swings and roundabouts to a certain extent.  The main thing is that
> the r scripts are evaluated using the r c library.  If they were
> invoked from within java/dhis then I guess data access would be slower
> than from pl/r (we'd need to have a way to get the data to the r
> interpreter), but number crunching would be similar and would also
> work with mysql and friends.  Not sure which of these are bigger
> problems in typical/possible scenarios.
>
>>
>> I think they are two separate problems really, but I totally agree, C
>> is likely going to be faster than Java for big operations. However, I
>> do think (as all of you know) that the use of stored procedures (with
>> the wrapper facade type of approach) for certain functions (like
>> aggregation and heavy cross tab operations) would be much better to be
>> executed on the database server as a native stored procedure.
>>
>> Regards,
>> Jason
>>
>>
>>
>>
>> On Thu, May 27, 2010 at 11:45 AM, Bob Jolliffe <bobjolliffe@xxxxxxxxx> wrote:
>>> We've talked before about integrating scripting engine (such as R)
>>> into dhis : http://www.rforge.net/rscript/
>>>
>>> But my guess is that most R users are going to be of a level of
>>> sophistication that they would be most comfortable doing the kind of
>>> thing you describe - conecting directly to db with r client and doing
>>> their stuff.
>>>
>>> OTOH if there were sufficiently useful "canned" dhis R scripts which
>>> could take some number crunching load off the jvm and produce canned
>>> useful analysis then that would be different.
>>>
>>> Sadly I don't know sufficient about R to know.  But I sense it ...
>>>
>>> Regards
>>> Bob
>>>
>>> On 27 May 2010 10:08, Jason Pickering <jason.p.pickering@xxxxxxxxx> wrote:
>>>> Hi everyone. I have had a recent question from a user about how DHIS2
>>>> can be used with R. I am including a trivial example here about how to
>>>> use R as as a client to access data and produce a graph in DHIS2.
>>>>
>>>> Just get a copy of R  and install the DBI and RPostregSQL packages with
>>>>
>>>>>install.packages()
>>>>
>>>>
>>>> After that, just connect to the DB, retrieve your data (in this case
>>>> from a report table) and produce a graph.
>>>>
>>>>>library(DBI)
>>>>
>>>>>library(RPostgreSQL)
>>>>
>>>>>drv <- dbDriver("PostgreSQL")
>>>>
>>>>>con <- dbConnect(drv, dbname="dhis2_zm_prod2", user="postgres", password="postgres")
>>>>
>>>>>rs <- dbSendQuery(con, "SELECT * FROM _report_malaria_indicators_district where
>>>> organisationunitid = 3904")
>>>>
>>>>>data <- fetch(rs,n=-1)
>>>>
>>>>>barplot(data$malaria_confirm_incidence, names.arg=as.character(data$periodname), main=as.character(data$organisationunitname[1]),las=2)
>>>>
>>>>>dev.print(png, file="/home/jason/test.png")
>>>>
>>>> Regards,
>>>> Jason
>>>>
>>>> ---
>>>> Jason P. Pickering
>>>> email: jason.p.pickering@xxxxxxxxx
>>>> tel:+260968395190
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>
>>
>>
>>
>> --
>> --
>> Jason P. Pickering
>> email: jason.p.pickering@xxxxxxxxx
>> tel:+260968395190
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dhis2-devs
> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dhis2-devs
> More help   : https://help.launchpad.net/ListHelp
>



-- 
Cheers,
Knut Staring



References