Learn R Programming

actuar (version 3.3-4)

Extract.grouped.data: Extract or Replace Parts of a Grouped Data Object

Description

Extract or replace subsets of grouped data objects.

Usage

# S3 method for grouped.data
[(x, i, j)
# S3 method for grouped.data
[(x, i, j) <- value

Value

For [ an object of class "grouped.data", a data frame or a vector.

For [<- an object of class "grouped.data".

Arguments

x

an object of class grouped.data.

i, j

elements to extract or replace. i, j are numeric or character or, for [ only, empty. Numeric values are coerced to integer as if by as.integer. For replacement by [, a logical matrix is allowed, but not replacement in the group boundaries and group frequencies simultaneously.

value

a suitable replacement value.

Author

Vincent Goulet vincent.goulet@act.ulaval.ca

Details

Objects of class "grouped.data" can mostly be indexed like data frames, with the following restrictions:

  1. For [, the extracted object must keep a group boundaries column and at least one group frequencies column to remain of class "grouped.data";

  2. For [<-, it is not possible to replace group boundaries and group frequencies simultaneously;

  3. When replacing group boundaries, length(value) == length(i) + 1.

x[, 1] will return the plain vector of group boundaries.

Replacement of non adjacent group boundaries is not possible for obvious reasons.

Otherwise, extraction and replacement should work just like for data frames.

See Also

[.data.frame for extraction and replacement methods of data frames, grouped.data to create grouped data objects.

Examples

Run this code
data(gdental)

(x <- gdental[1])         # select column 1
class(x)                  # no longer a grouped.data object
class(gdental[2])         # same
gdental[, 1]              # group boundaries
gdental[, 2]              # group frequencies

gdental[1:4,]             # a subset
gdental[c(1, 3, 5),]      # avoid this

gdental[1:2, 1] <- c(0, 30, 60) # modified boundaries
gdental[, 2] <- 10              # modified frequencies
if (FALSE) gdental[1, ] <- 2   # not allowed

Run the code above in your browser using DataLab