Learn R Programming

RMySQL (version 0.9-3)

dbApply: Apply R functions to remote groups of DBMS rows (experimental)

Description

Applies R functions to groups of remote DBMS rows without bringing an entire result set all at once. The result set is expected to be sorted by the grouping field.

Usage

dbApply(res, ...)

Arguments

res
a result set (see dbSendQuery).
...
any additional arguments to be passed to FUN.

Value

  • A list with as many elements as there were groups in the result set.

Details

dbApply This generic is meant to handle somewhat gracefully(?) large amounts of data from the DBMS by bringing into R manageable chunks; the idea is that the data from individual groups can be handled by R, but not all the groups at the same time.

Currently, only the MySQL driver implements a method (see the helper function mysqlDBApply) for this generic function.

See Also

MySQL mysqlDBApply dbSendQuery fetch

Examples

Run this code
## compute quanitiles for each network agent
con <- dbConnect(MySQL(), group="vitalAnalysis")
rs <- dbSendQuery(con, 
             "select Agent, ip_addr, DATA from pseudo_data order by Agent")
out <- dbApply(rs, INDEX = "Agent", 
        FUN = function(x, grp) quantile(x$DATA, names=FALSE))

Run the code above in your browser using DataLab