spectra-methods: Retrieves or sets the spectra of a 'Spectra*' objects.

Description Usage Arguments Details Author(s) Examples

Description

Either retrieves the spectra matrix from a Spectra* object, or creates a Spectra* object from a "data.frame" object different interfaces detailed below.When applied to a Spectra* object, this functions simply returns the spectra it is storing.

Usage

1
2
3
4
5
6
7
8
## S4 method for signature 'Spectra'
spectra(object)

## S4 replacement method for signature 'data.frame'
spectra(object, ...) <- value

## S4 replacement method for signature 'Spectra'
spectra(object) <- value

Arguments

object

an object of class "Spectra" or inheriting from this class

...

see details below

value

see details below

Details

If applied on a "data.frame" object, it is an helper function to create a Spectra* object. Two kind of interfaces are then available. value can be:

a vector:

Similarly to wl, the wavelengths of the spectra can be passed by a "numeric" vector. Alternatively, the names of the columns that contain the spectra information can be passed as a "character" vector.

a formula:

This interface is specific to inspectr. It follows a scheme where differents parts can be observed, the id column, the attributes columns, and the spectra columns, described by the wavelengths at which it has been measured:

Author(s)

Pierre Roudier pierre.roudier@gmail.com

Examples

 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Loading example data
data(oz)
class(oz) # this is a simple data.frame
# structure of the data.frame: it is rowwise-formatted
big.head(oz) 

## CREATING Spectra OBJECTS
##

# Using spectra() to initiate a Spectra from 
# the data.frame
spectra(oz) <- sr_no ~ 350:2500
summary(oz)

# It is possible to select wavelengths using the formula interface
data(oz)
spectra(oz) <- sr_no ~ 350:5:2500
summary(oz)

data(oz)
spectra(oz) <- sr_no ~ 500:1800
summary(oz)

## CREATING SpectraDataFrame OBJECTS
##

# Using spectra() to initiate a SpectraDataFrame from 
# the data.frame
data(oz)
spectra(oz) <- sr_no ~ carbon + ph + clay ~ 350:2500
summary(oz)

# Selecting data to be included in the SpectradataFrame object
data(oz)
spectra(oz) <- sr_no ~ carbon ~ 350:2500
summary(oz)

# Forcing the creation of new ids using the id keyword in the 
# formula interface
data(oz)
spectra(oz) <- id ~ carbon ~ 350:2500
summary(oz)
ids(oz, as.vector = TRUE)

# Using the "..." short-hand to select all the remaining columns
data(oz)
spectra(oz) <- sr_no ~ ... ~ 350:2500
summary(oz)

## CREATING Spectra OBJECTS FROM
## BY-COLS-FORMATTED DATA
##

# For data formatted in the colwise format, 
# use the "colwise" mode

# Transforming data into colwise format
# for demonstration's sake
#
m <- melt_spectra(oz)
oz_by_col <- reshape2::acast(m, ... ~ sr_no)
oz_by_col <- data.frame(
  wl = rownames(oz_by_col), 
  oz_by_col, 
  check.names = FALSE)

# Here's colwise-formatted data 
big.head(oz_by_col)

# Convert it into Spectra object
spectra(oz_by_col, mode = "colwise") <- wl ~ ...
summary(oz_by_col)

# Then data can be added to promote it as a SpectraDataFrame
my.data <- features(oz, exclude_id = FALSE)
features(oz_by_col, key = 'sr_no') <- my.data
summary(oz_by_col)

pierreroudier/inspectr documentation built on May 25, 2019, 6:08 a.m.