# func-methods: Mathematical functions that take 'db.obj' objects as the... In PivotalR: A Fast, Easy-to-Use Tool for Manipulating Tables in Databases and a Wrapper of MADlib

## Description

Functions that apply onto `db.obj` objects

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32``` ```## S4 method for signature 'db.obj' exp(x) ## S4 method for signature 'db.obj' abs(x) ## S4 method for signature 'db.obj' log(x, ...) ## S4 method for signature 'db.obj' log10(x) ## S4 method for signature 'db.obj' sign(x) ## S4 method for signature 'db.obj' sqrt(x) ## S4 method for signature 'db.obj' factorial(x) ## S4 method for signature 'db.obj' sin(x) ## S4 method for signature 'db.obj' cos(x) ## S4 method for signature 'db.obj' tan(x) ## S4 method for signature 'db.obj' asin(x) ## S4 method for signature 'db.obj' acos(x) ## S4 method for signature 'db.obj' atan(x) ## S4 method for signature 'db.obj,db.obj' atan2(y, x) ## S4 method for signature 'db.obj,numeric' atan2(y, x) ## S4 method for signature 'numeric,db.obj' atan2(y, x) ```

## Arguments

 `x,y` `db.obj` object. The function applies to each column of the `db.obj` object. If a column is an array, then the function applies onto each element of the array. If the data type of the column makes no sense to be used in the function, then a null value is returned. `...` Extra parameters. Not implemented.

## Value

`db.Rquery` object, which contains the SQL query that computes the operations.

## Note

A meaningful expression is generated only when the `.col.data_type` is "numeric", otherwise a "NULL" value is generated.

## Author(s)

Author: Predictive Analytics Team at Pivotal Inc.

Maintainer: Frank McQuillan, Pivotal Inc. [email protected]

`db.Rquery` contains a SQL query that does the operations.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24``` ```## Not run: ## get the help for a method ## help("+,db.obj,db.obj-method") ## set up the database connection ## Assume that .port is port number and .dbname is the database name cid <- db.connect(port = .port, dbname = .dbname) ## create a table from the example data.frame "abalone" delete("abalone", conn.id = cid) x <- as.db.data.frame(abalone, "abalone", conn.id = cid) x\$rings <- exp(x\$rings) # change the values x\$area <- log((x\$length + 1) * (x\$height + 1)) # add a new column lk(x\$area, 10) # view the actual values computed in database fit <- madlib.lm(rings ~ area, data = x) db.disconnect(cid, verbose = FALSE) ## End(Not run) ```