This vignette outlines the simplest possible usage of phytoclass’s simulated annealing.
Preparing the S Matrix
To run phytoclass you must prepare a sample matrix (aka the
S matrix
). For this we recommend creating a
comma-separated-value (.csv
) file. Several example files
are included in the ./vignettes/
directory of the phytoclass source code. .csv
files can
be created in any plain text editor. Below is an example S-matrix
.csv
file content:
Per X19but Fuco Neox Pra Viol X19hex Allo Zea Lut ChlcMGDG18 ChlcMGDG14 Chl_b Tchla
Sample_1 0.0000 0.03024 0.06225 0.00557 0.01407 0.00759 0.08224 0.00188 0.00201 0 0 0 0.08661 0.45851
Sample_2 0.0000 0.01084 0.02864 0.00111 0.00351 0.00144 0.01497 0.00144 0.00191 0 0 0 0.01473 0.14571
Sample_3 0.0000 0.01560 0.21720 0.00640 0.00920 0.00000 0.01740 0.00580 0.00360 0 0 0 0.05700 0.61270
Sample_4 0.0000 0.01770 0.23470 0.00700 0.01150 0.00000 0.01890 0.00540 0.00380 0 0 0 0.06190 0.62070
Sample_5 0.0000 0.02520 0.29520 0.00990 0.01300 0.00000 0.02110 0.00140 0.00760 0 0 0 0.05780 0.53020
Sample_6 0.0102 0.02220 0.22750 0.00760 0.01070 0.00000 0.01900 0.00000 0.00300 0 0 0 0.04530 0.40570
This example includes only 14 samples (rows), with the pigment
concentration of each sample included on each row. 14 is the minumum
number of rows required to apply simulated annealing. The first row
includes the names for each pigment. These pigment abbreviations
must match exactly to the pigments in the F-matrix. For this
example we are using the default phytoclass:Fm
F matrix,
and the column names in the example above should be used.
NOTE: Instead of using a plain text editor,
.csv
files can also be created using a spreadsheet editor (MS Excel, Google Docs, LibreOffice Calc, etc.) by using “save as” or “export” to.csv
.
Simulated Annealing
To run the simulated annealing call the function with your S matrix passed as the only argument.
# load the sample matrix from a file
S_matrix <- read.csv("vignettes/custom-example-S.csv", row.names = 1)
# run simulated annealing
results <- phytoclass::simulated_annealing(S_matrix)