Learn R Programming

hyperSpec (version 0.98-20140523)

makeraster: makeraster

Description

find an evenly spaced grid for x

Usage

makeraster(x, startx, d, newlevels, tol = 0.1)

fitraster(x, tol = 0.1)

Arguments

x
numeric to be fitted with a raster
startx
starting point ("origin") for calculation of the raster
d
step size of the raster
tol
tolerance for rounding to new levels: elements of x within tol of the distance between the levels of the new grid are rounded to the new grid point.
newlevels
levels of the raster

Value

  • list with elements
  • xthe values of x, possibly rounded to the raster values
  • levelsthe values of the raster

Details

makeraster fits the data to the specified raster.

fitraster tries different raster parameter and returns the raster that covers most of the x values: The differences between the values of x are calculated (possible step sizes). For each of those step sizes, different points are tried (until all points have been covered by a raster) and the parameter combination leading to the best coverage (i.e. most points on the grid) ist used.

Note that only differences between the sorted values of x are considered as step size.

Examples

Run this code
x <- c (sample (1:20, 10), (0 : 5) + 0.5)
raster <- makeraster (x, x [1], 2)
raster
plot (x)
abline (h = raster$levels, col = "#00000040")

## unoccupied levels
missing <- setdiff (raster$levels, raster$x)
abline (h = missing, col = "red")

## points acutally on the raster
onraster <- raster$x %in% raster$levels
points (which (onraster), raster$x [onraster], col = "blue", pch = 20)
raster <- fitraster (x)
raster
plot (x)
abline (h = raster$levels, col = "#00000040")

## unoccupied levels
missing <- setdiff (raster$levels, raster$x)
abline (h = missing, col = "red")

## points acutally on the raster
onraster <- raster$x %in% raster$levels
points (which (onraster), raster$x [onraster], col = "blue", pch = 20)

x <- c (sample (1:20, 10), (0 : 5) + 0.45)
raster <- fitraster (x)
raster
plot (x)
abline (h = raster$levels, col = "#00000040")

## unoccupied levels
missing <- setdiff (raster$levels, raster$x)
abline (h = missing, col = "red")

## points acutally on the raster
onraster <- raster$x %in% raster$levels
points (which (onraster), raster$x [onraster], col = "blue", pch = 20)

Run the code above in your browser using DataLab