Learn R Programming

hyperSpec (version 0.98-20110927)

asdataframe: Conversion of a hyperSpec object into a data...

Description

Conversion of a hyperSpec object into a data.frame or matrix as.data.frame returns x@data (as data.frame) as.matrix returns the spectra matrix x@data$spc as matrix

Usage

## S3 method for class 'hyperSpec,missing,missing':
as.data.frame(x, row.names=stop("hyperSpec method does not support row.names"),
    optional=stop("hyperSpec method does not support row.names"), ...)

## S3 method for class 'hyperSpec': as.matrix(x, ...)

as.wide.df(x)

as.long.df(x, rownames=FALSE, wl.factor=FALSE, na.rm=TRUE)

as.t.df(x)

Arguments

x
a hyperSpec object
row.names,optional
must be missing: they are not supported for hyperSpec objects.
...
ignored
rownames
should the rownames be in column .rownames of the long-format data.frame?
wl.factor
should the wavelengths be returned as a factor (instead of numeric)?
na.rm
if TRUE, rows where spc is not NA are deleted.

Value

  • as.data.frame,hyperSpec,missing,missing-method: x@data and x@data$spc (== x$spc == x [[]]), respectively.

    as.wide.df: as.wide.df returns a data.frame that consists of the extra data and the spectra matrix converted to a data.frame. The spectra matrix is expanded in place.

    as.long.df: as.long.df returns the stacked or molten version of x@data. The wavelengths are in column .wavelength.

    as.t.df: as.t.df returns a data.frame similar to as.long.df, but each spectrum in its own column. This is useful for exporting summary spectra, see the example.

Details

as.long.df: The data.frame returned by as.long.df is guaranteed to have columns spc and .wavelength. If nwl (x) == 0 these columns will be NA.

See Also

as.data.frameand as.matrix

[ for a shortcut to as.matrixstack and melt for other functions producing long-format data.frames.

Examples

Run this code
as.data.frame (chondro [1:3,, 600:620])
as.matrix (chondro [1:3,, 600:620])

as.wide.df (chondro [1:5,, 600 ~ 610])
summary (as.wide.df (chondro [1:5,, 600 ~ 610]))

as.long.df (flu [,, 405 ~ 410])
summary (as.long.df (flu [,, 405 ~ 410]))
summary (as.long.df (flu [,, 405 ~ 410], rownames = TRUE))
summary (as.long.df (flu [,, 405 ~ 410], wl.factor = TRUE))

df <- as.t.df (apply (chondro, 2, mean_pm_sd))
head (df)

if (require (ggplot2)){
ggplot (df, aes (x = .wavelength)) +
geom_ribbon (aes (ymin = mean.minus.sd, ymax = mean.plus.sd),
fill = "#00000040") +
geom_line (aes (y = mean))
}

Run the code above in your browser using DataLab