Learn R Programming

PivotalR (version 0.1.18.3.1)

Aggregate functions: Functions to perform a calculation on multiple values and return a single value

Description

An aggregate function is a function where the values of multiple rows are grouped together as input to calculate a single value of more significant meaning or measurement. The aggregate functions included are mean, sum, count, max, min, standard deviation, and variance. Also included is a function to compute the mean value of each column and a function to compute the sum of each column.

Usage

# S4 method for db.obj
mean(x, ...)

# S4 method for db.obj sum(x, ..., na.rm = FALSE)

# S4 method for db.obj count(x)

# S4 method for db.obj max(x, ..., na.rm = FALSE)

# S4 method for db.obj min(x, ..., na.rm = FALSE)

# S4 method for db.obj sd(x)

# S4 method for db.obj var(x)

# S4 method for db.obj colMeans(x, na.rm = FALSE, dims = 1, ...)

# S4 method for db.obj colSums(x, na.rm = FALSE, dims = 1, ...)

colAgg(x)

db.array(x, ...)

Arguments

x

A db.obj object. The signature of the method.

For db.array, x can also be a normal R object like double value.

…

further arguments passed to or from other methods This is currently not implemented.

na.rm

logical. Should missing values (including 'NaN') be removed? This is currently not implemented.

dims

integer: Which dimensions are regarded as 'rows' or 'columns' to sum over. This is currently not implemented and the default behavior is to sum over columns

Value

For mean, a db.Rquery which is a SQL query to extract the average of a column of a table. Actually, it can work on multiple columns, so it is the same as colMeans.

For sum, a db.Rquery which is a SQL query to extract the sum of a column of a table. Actually, it can work on multiple columns, so it is the same as colSums.

For count, a db.Rquery which is a SQL query to extract the count of a column of a table.

For max, a db.Rquery which is a SQL query to extract the max of a column of a table.

For min, a db.Rquery which is a SQL query to extract the min of a column of a table.

For sd, a db.Rquery which is a SQL query to extract the standard deviation of a column of a table.

For var, a db.Rquery which is a SQL query to extract the variance of a column of a table.

For colMeans, a db.Rquery which is a SQL query to extract the mean of multiple columns of a table.

For colSums, a db.Rquery which is a SQL query to extract the sum of multiple columns of a table.

For colAgg, a db.Rquery which is a SQL query to retreive the column values as an array aggregate.

For db.array, a db.Rquery which is a SQL query which combine all columns into an array.

Details

For aggregate functions: mean, sum, count, max, min, sd, and var, the signature x must be a reference to a single column in a table.

For aggregate functions: colMeans, colSums, and colAgg the signature x can be a db.obj referencing to a single column or a single table, or can be a db.Rquery referencing to multiple columns in a table.

See Also

by,db.obj-method is usually used together with aggregate functions.

Examples

Run this code
# NOT RUN {
## get the help for a method
## help("mean,db.obj-method")

<!-- %% @test .port Database port number -->
<!-- %% @test .dbname Database name -->

## set up the database connection
## Assume that .port is port number and .dbname is the database name
cid <- db.connect(port = .port, dbname = .dbname, verbose = FALSE)

## ----------------------------------------------------------------------

## create a table from the example data.frame "abalone"
delete("abalone", conn.id = cid)
x <- as.db.data.frame(abalone, "abalone", conn.id = cid, verbose = FALSE)

## get the mean of a column
mean(x$diameter)

## get the sum of a column
sum(x$height)

## get the number of entries in a column
count(x$id)

## get the max value of a column
max(x$diameter)

## get the min value of a column
min(x$diameter)

## get the standard deviation of the values in column
sd(x$diameter)

## get the variance of the values in column
var(x$diameter)

## get the mean of all columns in the table
colMeans(x)

## get the sum of all columns in the table
colSums(x)

## get the array aggregate of a specific column in the table
colAgg(x$diameter)

## get the array aggregate of all columns in the table
colAgg(x)

## put everything into an array plus a constant 1 as the first element
db.array(1, x[,3:5], x[,6:7], x[,8:10])

## ----------------------------------------------------------------------

db.disconnect(cid, verbose = FALSE)
# }

Run the code above in your browser using DataLab