Title: | Reciprocity Indices for Style-Polymorphic Plants |
---|---|
Description: | Computes unidimensional and multidimensional Reciprocity and Inaccuracy indices. These indices are applicable to common heterostylous populations and to any other type of stylar dimorphic and trimorphic populations, such as in enantiostylous and three-dimensional heterostylous plants. Simón-Porcar, V., A. J. Muñoz-Pajares, J. Arroyo, and S. D. Johnson. (in press) "FlowerMate: multidimensional reciprocity and inaccuracy indices for style-polymorphic plant populations." |
Authors: | A. J. Muñoz-Pajares Developer [cre], V. I. Simón-Porcar Dev [aut] |
Maintainer: | A. J. Muñoz-Pajares Developer <[email protected]> |
License: | GPL (>= 2) |
Version: | 1.0 |
Built: | 2024-10-31 21:25:29 UTC |
Source: | CRAN |
FlowerMate computes the original reciprocity indexes of Sánchez et al. (2008, 2013) and Armbruster et al (2017), and their multidimensional variants, developed by Simón-Porcar et al. (2023). These indexes are applicable to common heterostylous populations and to any other type of stylar dimorphic and trimorphic populations, such as stylar-dimorphic, three-dimensional heterostylous and enantiostylous plants.
FlowerMate includes a main function, inaccuracy, that computes either the one-, two- or three-dimensional versions of the Reciprocity and Inaccuracy Indexes, either for dimorphic or trimorphic populations, depending on the data input and options chosen. The input format includes one row per measured sex organ and the eight following columns: population code, floral morph, Individual ID number, Sex organ ID number, Sex organ type (stigma or anther), and x, y, z coordinates. The user can select the coordinates to compute, hence obtaining either uni-, bi- or three-dimensional indexes. In stylar polymorphic species with same sex organs at stricklingly different locations (e.g. enantiostylous flowers with both left- and right-facing stamens), the user can select different data subsets for computation. inaccuracy computes the Reciprocity and Inaccuracy Indexes also in presence of missing data, warning that the values may not be comparable across populations (e.g. if the distribution of missing data is strongly biased across morphs or dimensions). There are short and extended output options for inaccuracy, providing either the Reciprocity and Inaccuracy values alone or accompanied of all the intermediate components calculated for each population. FlowerMate also includes functions to simulate style-polymorphic populations with the average coordinates and variance specified for each sex organ level and morph.
A. J. Muñoz-Pajares and V. I. Simón-Porcar
Armbruster, W. S., Bolstad, G. H., Hansen, T. F., Keller, B., Conti, E., & Pélabon, C. (2017). The measure and mismeasure of reciprocity in heterostylous flowers. New Phytologist, 215(2), 906-917.
Sánchez JM, Ferrero V, Navarro L. 2008. A new approach to the quantification of degree of reciprocity in distylous (sensu lato) plant populations. Annals of Botany 102: 463–472.
Sánchez JM, Ferrero V, Navarro L. 2013. Quantifying reciprocity in distylous and tristylous plant populations. Plant Biology 15: 616–620.
Simón-Porcar VI, Muñoz-Pajares AJ, Arroyo J, Johnson SD (2023). Multidimensional reciprocity and inaccuracy indexes in style-polymorphic plant populations. Applications in Plant Sciences in Press.
Simulated data for one distylous population with 1D data
data(distylous)
data(distylous)
The dataset contains information from 80 sex organs from 40 individuals. For every sex organ, the dataset contains eight columns with the population code, morph, individual ID, sex organ ID, sex organ type, and coordinates x, y and z. Because the dataset contains information in only one dimension, x and z columns values are 0. This dataset has been obtained using the SimDimor function as shown in the example section.
A data frame with 80 rows and 8 columns.
A.J. Muñoz-Pajares, V.I. Simón-Porcar
## This dataset has been generated using: set.seed(2222) SimDimor (NIDL=20, NIDS=20,Nst=1,Nan=1,Norg.st=1,Norg.an=1, LSTmeanX=0, LSTsdX=0, LANmeanX=0,LANsdX=0, SSTmeanX=0, SSTsdX=0, SANmeanX=0, SANsdX=0, LSTmeanY=8, LSTsdY=1, LANmeanY=4 ,LANsdY=1, SSTmeanY=5, SSTsdY=1, SANmeanY=9, SANsdY=1, LSTmeanZ=0, LSTsdZ=0, LANmeanZ=0 ,LANsdZ=0, SSTmeanZ=0, SSTsdZ=0, SANmeanZ=0, SANsdZ=0, pop_code="distylous") ## To load and test the inaccuracy function: data(distylous) inaccuracy(distylous)
## This dataset has been generated using: set.seed(2222) SimDimor (NIDL=20, NIDS=20,Nst=1,Nan=1,Norg.st=1,Norg.an=1, LSTmeanX=0, LSTsdX=0, LANmeanX=0,LANsdX=0, SSTmeanX=0, SSTsdX=0, SANmeanX=0, SANsdX=0, LSTmeanY=8, LSTsdY=1, LANmeanY=4 ,LANsdY=1, SSTmeanY=5, SSTsdY=1, SANmeanY=9, SANsdY=1, LSTmeanZ=0, LSTsdZ=0, LANmeanZ=0 ,LANsdZ=0, SSTmeanZ=0, SSTsdZ=0, SANmeanZ=0, SANsdZ=0, pop_code="distylous") ## To load and test the inaccuracy function: data(distylous) inaccuracy(distylous)
Simulated data for five distylous populations with 1D data
data(distylous1D)
data(distylous1D)
The dataset contains information from 200 sexual organs from 100 individuals from 5 populations (20 individuals per population). For every sexual organ, the dataset contains eight columns with the population code, morph, individual ID, sexual organ ID, sexual organ type, and coordinates x, y and z. Because the dataset contains information in only one dimension, x and z columns values are 0. This dataset has been obtained using the SimDimor function recursively as shown in the example section.
A data frame with 200 rows and 8 columns.
A.J. Muñoz-Pajares, V.I. Simón-Porcar
## This dataset has been generated using: SEEDS<-12341:12345 exampleDataset<-c() for(i in 1:length(SEEDS)) { set.seed(SEEDS[i]) exampleDataset <- rbind(exampleDataset,SimTrimor(NIDL=10, NIDM=10, NIDS=10, LUPmeanX=0, LUPsdX=0, LBWmeanX=0, LBWsdX=0, LLWmeanX=0, LLWsdX=0, MUPmeanX=0, MUPsdX=0, MBWmeanX=0, MBWsdX=0, MLWmeanX=0, MLWsdX=0, SUPmeanX=0, SUPsdX=0, SBWmeanX=0, SBWsdX=0, SLWmeanX=0, SLWsdX=0, LUPmeanY=2, LUPsdY=0.5, LBWmeanY=2, LBWsdY=0.5, LLWmeanY=2, LLWsdY=0.5, MUPmeanY=2, MUPsdY=0.5, MBWmeanY=2, MBWsdY=0.5, MLWmeanY=2, MLWsdY=0.5, SUPmeanY=2, SUPsdY=0.5, SBWmeanY=2, SBWsdY=0.5, SLWmeanY=2, SLWsdY=0.5, LUPmeanZ=0, LUPsdZ=0, LBWmeanZ=0, LBWsdZ=0, LLWmeanZ=0, LLWsdZ=0, MUPmeanZ=0, MUPsdZ=0, MBWmeanZ=0, MBWsdZ=0, MLWmeanZ=0, MLWsdZ=0, SUPmeanZ=0, SUPsdZ=0, SBWmeanZ=0, SBWsdZ=0, SLWmeanZ=0, SLWsdZ=0)) } ## To load and test the inaccuracy function: data(tristylous1D) # inaccuracy(tristylous1D)
## This dataset has been generated using: SEEDS<-12341:12345 exampleDataset<-c() for(i in 1:length(SEEDS)) { set.seed(SEEDS[i]) exampleDataset <- rbind(exampleDataset,SimTrimor(NIDL=10, NIDM=10, NIDS=10, LUPmeanX=0, LUPsdX=0, LBWmeanX=0, LBWsdX=0, LLWmeanX=0, LLWsdX=0, MUPmeanX=0, MUPsdX=0, MBWmeanX=0, MBWsdX=0, MLWmeanX=0, MLWsdX=0, SUPmeanX=0, SUPsdX=0, SBWmeanX=0, SBWsdX=0, SLWmeanX=0, SLWsdX=0, LUPmeanY=2, LUPsdY=0.5, LBWmeanY=2, LBWsdY=0.5, LLWmeanY=2, LLWsdY=0.5, MUPmeanY=2, MUPsdY=0.5, MBWmeanY=2, MBWsdY=0.5, MLWmeanY=2, MLWsdY=0.5, SUPmeanY=2, SUPsdY=0.5, SBWmeanY=2, SBWsdY=0.5, SLWmeanY=2, SLWsdY=0.5, LUPmeanZ=0, LUPsdZ=0, LBWmeanZ=0, LBWsdZ=0, LLWmeanZ=0, LLWsdZ=0, MUPmeanZ=0, MUPsdZ=0, MBWmeanZ=0, MBWsdZ=0, MLWmeanZ=0, MLWsdZ=0, SUPmeanZ=0, SUPsdZ=0, SBWmeanZ=0, SBWsdZ=0, SLWmeanZ=0, SLWsdZ=0)) } ## To load and test the inaccuracy function: data(tristylous1D) # inaccuracy(tristylous1D)
Simulated data for one 2-anthers distylous population with 1D data
data(distylous2anthers)
data(distylous2anthers)
The dataset contains information from 120 sex organs from 40 individuals. For every sex organ, the dataset contains eight columns with the population code, morph, individual ID, sex organ ID, sex organ type, and coordinates x, y and z. Because the dataset contains information in only one dimension, x and z columns values are 0. This dataset has been obtained using the SimDimor function as shown in the example section.
A data frame with 120 rows and 8 columns.
A.J. Muñoz-Pajares, V.I. Simón-Porcar
## This dataset has been generated using: set.seed(3333) SimDimor (NIDL=20, NIDS=20,Nst=1,Nan=2,Norg.st=1,Norg.an=1, LSTmeanX=0, LSTsdX=0, LANmeanX=c(0,0),LANsdX=c(0,0), SSTmeanX=0, SSTsdX=0, SANmeanX=c(0,0), SANsdX=c(0,0), LSTmeanY=8, LSTsdY=1, LANmeanY=c(6,5) ,LANsdY=c(1,1), SSTmeanY=4, SSTsdY=1, SANmeanY=c(6,5), SANsdY=c(1,1), LSTmeanZ=0, LSTsdZ=0, LANmeanZ=c(0,0) ,LANsdZ=c(0,0), SSTmeanZ=0, SSTsdZ=0, SANmeanZ=c(0,0), SANsdZ=c(0,0), pop_code="styledimorphic") ## To load and test the inaccuracy function: data(distylous2anthers) inaccuracy(distylous2anthers)
## This dataset has been generated using: set.seed(3333) SimDimor (NIDL=20, NIDS=20,Nst=1,Nan=2,Norg.st=1,Norg.an=1, LSTmeanX=0, LSTsdX=0, LANmeanX=c(0,0),LANsdX=c(0,0), SSTmeanX=0, SSTsdX=0, SANmeanX=c(0,0), SANsdX=c(0,0), LSTmeanY=8, LSTsdY=1, LANmeanY=c(6,5) ,LANsdY=c(1,1), SSTmeanY=4, SSTsdY=1, SANmeanY=c(6,5), SANsdY=c(1,1), LSTmeanZ=0, LSTsdZ=0, LANmeanZ=c(0,0) ,LANsdZ=c(0,0), SSTmeanZ=0, SSTsdZ=0, SANmeanZ=c(0,0), SANsdZ=c(0,0), pop_code="styledimorphic") ## To load and test the inaccuracy function: data(distylous2anthers) inaccuracy(distylous2anthers)
Simulated data for five distylous populations with 3D data
data(distylous3D)
data(distylous3D)
The dataset contains information from 200 sex organs from 100 individuals from 5 populations (20 individuals per population). For every sex organ, the dataset contains eight columns with the population code, morph, individual ID, sex organ ID, sex organ type, and coordinates x, y and z. This dataset has been obtained using the SimDimor function recursively as shown in the example section.
A data frame with 200 rows and 8 columns.
A.J. Muñoz-Pajares, V.I. Simón-Porcar
## This dataset has been generated using: SEEDS<-12341:12345 exampleDataset<-c() for(i in 1:length(SEEDS)) { set.seed(SEEDS[i]) exampleDataset <- rbind(exampleDataset,SimDimor(NIDL = 10,NIDS = 10, Nst = 1, Nan = 1, LSTmeanX = 0, LSTsdX = 0, LANmeanX =, LANsdX = 0, SSTmeanX = 0, SSTsdX = 0, SANmeanX = 0, SANsdX = 0, LSTmeanY = 20, LSTsdY = 0.5, LANmeanY = 8, LANsdY = 0.5, SSTmeanY = 8, SSTsdY = 0.5, SANmeanY = 20, SANsdY = 0.5, LSTmeanZ = 0, LSTsdZ = 0, LANmeanZ =0, LANsdZ = 0, SSTmeanZ = 0, SSTsdZ = 0, SANmeanZ = 0, SANsdZ = 0, pop_code=paste("pop",i,sep=""))) } ## To load and test the inaccuracy function: data(distylous3D) inaccuracy(distylous3D)
## This dataset has been generated using: SEEDS<-12341:12345 exampleDataset<-c() for(i in 1:length(SEEDS)) { set.seed(SEEDS[i]) exampleDataset <- rbind(exampleDataset,SimDimor(NIDL = 10,NIDS = 10, Nst = 1, Nan = 1, LSTmeanX = 0, LSTsdX = 0, LANmeanX =, LANsdX = 0, SSTmeanX = 0, SSTsdX = 0, SANmeanX = 0, SANsdX = 0, LSTmeanY = 20, LSTsdY = 0.5, LANmeanY = 8, LANsdY = 0.5, SSTmeanY = 8, SSTsdY = 0.5, SANmeanY = 20, SANsdY = 0.5, LSTmeanZ = 0, LSTsdZ = 0, LANmeanZ =0, LANsdZ = 0, SSTmeanZ = 0, SSTsdZ = 0, SANmeanZ = 0, SANsdZ = 0, pop_code=paste("pop",i,sep=""))) } ## To load and test the inaccuracy function: data(distylous3D) inaccuracy(distylous3D)
Simulated data for one enantiostylous population with 3D data
data(enantiostylous)
data(enantiostylous)
The dataset contains information from 160 sex organs from 40 individuals. For every sex organ, the dataset contains eight columns with the population code, morph, individual ID, sex organ ID, sex organ type, and coordinates x, y and z. This dataset has been obtained using the SimDimor function as shown in the example section.
A data frame with 160 rows and 8 columns.
A.J. Muñoz-Pajares, V.I. Simón-Porcar
## This dataset has been generated using: set.seed(1111) SimDimor (NIDL=20, NIDS=20,Nst=1,Nan=3,Norg.st=1,Norg.an=1, LSTmeanX=-10, LSTsdX=2, LANmeanX=c(9,7,-7),LANsdX=c(2,2,2), SSTmeanX=9, SSTsdX=2, SANmeanX=c(-9,-6,6), SANsdX=c(2,2,2), LSTmeanY=9, LSTsdY=2, LANmeanY=c(7,3,3) ,LANsdY=c(2,2,2), SSTmeanY=8, SSTsdY=2, SANmeanY=c(6,2,3), SANsdY=c(2,2,2), LSTmeanZ=15, LSTsdZ=2, LANmeanZ=c(16,15,15) ,LANsdZ=c(2,2,2), SSTmeanZ=16, SSTsdZ=2, SANmeanZ=c(15,15,15), SANsdZ=c(2,2,2), pop_code="enantiostylous") ## To load and test the inaccuracy function: data(enantiostylous) # inaccuracy(enantiostylous)
## This dataset has been generated using: set.seed(1111) SimDimor (NIDL=20, NIDS=20,Nst=1,Nan=3,Norg.st=1,Norg.an=1, LSTmeanX=-10, LSTsdX=2, LANmeanX=c(9,7,-7),LANsdX=c(2,2,2), SSTmeanX=9, SSTsdX=2, SANmeanX=c(-9,-6,6), SANsdX=c(2,2,2), LSTmeanY=9, LSTsdY=2, LANmeanY=c(7,3,3) ,LANsdY=c(2,2,2), SSTmeanY=8, SSTsdY=2, SANmeanY=c(6,2,3), SANsdY=c(2,2,2), LSTmeanZ=15, LSTsdZ=2, LANmeanZ=c(16,15,15) ,LANsdZ=c(2,2,2), SSTmeanZ=16, SSTsdZ=2, SANmeanZ=c(15,15,15), SANsdZ=c(2,2,2), pop_code="enantiostylous") ## To load and test the inaccuracy function: data(enantiostylous) # inaccuracy(enantiostylous)
Computation of the Inaccuracy Index of Armbruster et al. (2017) and the Reciprocity Index of Sánchez et al. (2008; 2013), or their multidimensional variants (Simón-Porcar et al., 2023), for populations of stylar-polymorphic species.
inaccuracy(input = NULL, useonly.dim = c("x", "y", "z"), useonly.vert = "all", verbose = FALSE, na.rm = FALSE,intramorph = FALSE)
inaccuracy(input = NULL, useonly.dim = c("x", "y", "z"), useonly.vert = "all", verbose = FALSE, na.rm = FALSE,intramorph = FALSE)
input |
A dataframe containing information on the position of sex organs for different individuals. See details for further information on the specific format required. |
useonly.dim |
Dimensions to be considered for the analysis. By default "x", "y", and/or "z" columns will be used if they contain numeric values different from 0. |
useonly.vert |
A vector of characters defining the verticile considered for the analysis. By default all verticiles are used, but this argument make it possible to, for example, analyse only the subset of stiles labeled as "ST1". |
verbose |
A logical to obtain a complete list of indices estimated during the computation. |
na.rm |
A logical to perform the analysis without considering missing data (excluding these values only). Accurate estimates of reciprocity and inaccuracy should rely on a dataset with no missing data. An uneven distribution of missing data across dimensions or floral morphs may incur on biased estimates for both parameters. In fact, the original Microsoft Excel Macro of Sánchez et al. (2008, 2013) does not allow the computation of datasets with missing data. A warning will be provided if set to TRUE. |
intramorph |
A logical to perform the computation using only intramorph comparisons. |
The input dataframe must contain one row per measured sex organ and at least eight columns with the following colnames: pop_code (population names), morph ("L" or "S" to identify long- and short-styled morphs, respectively, for distylous population datasets and "L", "M", "S" to identify long-, mid- and short-styled morphs, respectively, for tristylous plants; this nomenclature should be used also for any other stylar dimorphism or trimorphism analysed; we suggest that in enantiostylous populations, for instance, “L” and “S” are used for left-handed and right-handed morphs, respectively); ID_indiv (individual names); ID_sexorg (a numeric ID for every sex organ measured in the population), sexorg ("ST" for stamen and "AN" for anther. Categories within sex organs can be defined adding a number, such as "ST1", "ST2",...), x (position of the sex organ within the x dimension), y (position of the sex organ within the y dimension), z (position of the sex organ within the x dimension). See data(distylous) to get an example.
If verbose is set to FALSE, this function provides a numeric vector with the following values per population:
nL, nS: number of individuals from each morph in dimorphic plants (named as L and S). In the case of trimorphic populations the number of individuals of the third morph (named as M) is also provided (nM).
Inac.u.y: Armbruster Inaccuracy value obtained for the “upper” level sex organs (generally, for the stigmas of the L morph and the opposite morph/s anthers) in the Y axis. Inac.u.xy or Inac.u.xyz will be provided if the input file contains information for any of these axes. Inaccuracy is calculated as (Armbruster et al. 2017; Simón-Porcar et al., 2023 for multidimensional variants).
Inac.b.y: Armbruster Inacuracy value obtained for the “between” level sex organs of trimorphic populations (generally, for the stigmas of the M morph and the opposite morphs anthers) in the Y axis. Inac.b.xy or Inac.b.xyz will be provided if the input file contains information for any of these axes.
Inac.perc.u.y: Armbruster Percentage of Inaccuracy value obtained for the “upper” level sex organs (generally, for the stigmas of the L morph and the opposite morph/s anthers) in the Y axis.
Inac.perc.u.xy or Inac.perc.u.xyz will be provided if the input file contains information for any of these axes. The Percentage of Inaccuracy values are calculated as (Armbruster et al., 2017).
Inac.perc.d.y: Armbruster Percentage of Inaccuracy value obtained for the “down” level sex organs (generally, for the stigmas of the S morph and the opposite morph/s anthers) in the Y axis.
Inac.perc.d.xy or Inac.perc.d.xyz will be provided if the input file contains information for any of these axes.
Inac.perc.b.y: Armbruster Percentage of Inaccuracy value obtained for the “between” level sex organs (generally, for the stigmas of the M morph and the opposite morphs anthers in trimorphic populations) in the Y axis.
Inac.perc.b.xy or Inac.perc.b.xyz will be provided if the input file contains information for any of these axes.
TotalInac.y: Armbruster Total inacuracy value in the Y axis (calculated as ; Armbruster et al. 2017).
TotalInac.xy or TotalInac.xyz will be provided if the input file contains information for any of these axes.
Mean2Stand.TotalInac.y: Armbruster Mean 2 -standardized total inaccuracy in the Y axis (calculated as . Mean2Stand.TotalInac.xy or Mean2Stand.TotalInac.xyz will be provided if the input file contains information for any of these axes.
r: Sánchez r calculated as for the one, two or three dimensions computed (see Sánchez et al. 2008, 2013; Simón-Porcar et al. 2023 for details).
R: Sánchez R calculated as for the one, two or three dimensions computed (see Sánchez et al. 2008, 2013; Simón-Porcar et al. 2023 for details).
If verbose is set to TRUE, this function provides a list with three elements:
Results a numeric vector identical to the verbose=FALSE output
Armbruster a numeric vector with all the parameters estimated during the computation of the Armbruster Inaccuracy Index.
Sanchez a numeric vector with all the indices estimated during the computation of the Sanchez Reciprocity Index
A. J. Muñoz-Pajares and V. I. Simón-Porcar
Armbruster, W. S., Bolstad, G. H., Hansen, T. F., Keller, B., Conti, E., & Pélabon, C. (2017). The measure and mismeasure of reciprocity in heterostylous flowers. New Phytologist, 215(2), 906-917.
Sánchez JM, Ferrero V, Navarro L. 2008. A new approach to the quantification of degree of reciprocity in distylous (sensu lato) plant populations. Annals of Botany 102: 463–472.
Sánchez JM, Ferrero V, Navarro L. 2013. Quantifying reciprocity in distylous and tristylous plant populations. Plant Biology 15: 616–620.
Simón-Porcar VI, Muñoz-Pajares AJ, Arroyo J, Johnson SD (2023). Multidimensional reciprocity and inaccuracy indexes in style-polymorphic plant populations. Applications in Plant Sciences in Press
data(distylous) inaccuracy(distylous) ### Generating data with multiple populations and ### performing the analysis: data(distylous2anthers) inaccuracy(distylous2anthers,useonly.vert=c("ST","AN2"))
data(distylous) inaccuracy(distylous) ### Generating data with multiple populations and ### performing the analysis: data(distylous2anthers) inaccuracy(distylous2anthers,useonly.vert=c("ST","AN2"))
Produces simulated datasets of heterostylous individuals with as many rows as number of sexual organs defined.
SimDimor(NIDL=30, NIDS=30,Nst=1,Nan=1,Norg.st=1,Norg.an=1, LSTmeanX=20, LSTsdX=0.5, LANmeanX=8,LANsdX=0.5, SSTmeanX=8, SSTsdX=0.5, SANmeanX=20, SANsdX=0.5, LSTmeanY=20, LSTsdY=0.5, LANmeanY=8 ,LANsdY=0.5, SSTmeanY=8, SSTsdY=0.5, SANmeanY=20, SANsdY=0.5, LSTmeanZ=20, LSTsdZ=0.5, LANmeanZ=8 ,LANsdZ=0.5, SSTmeanZ=8, SSTsdZ=0.5, SANmeanZ=20, SANsdZ=0.5, pop_code="test1")
SimDimor(NIDL=30, NIDS=30,Nst=1,Nan=1,Norg.st=1,Norg.an=1, LSTmeanX=20, LSTsdX=0.5, LANmeanX=8,LANsdX=0.5, SSTmeanX=8, SSTsdX=0.5, SANmeanX=20, SANsdX=0.5, LSTmeanY=20, LSTsdY=0.5, LANmeanY=8 ,LANsdY=0.5, SSTmeanY=8, SSTsdY=0.5, SANmeanY=20, SANsdY=0.5, LSTmeanZ=20, LSTsdZ=0.5, LANmeanZ=8 ,LANsdZ=0.5, SSTmeanZ=8, SSTsdZ=0.5, SANmeanZ=20, SANsdZ=0.5, pop_code="test1")
NIDL |
Number of large-morph individuals to be simulated |
NIDS |
Number of short-morph individuals to be simulated |
Nst |
Number of stigma levels per individual |
Nan |
Number of anther levels per individual |
Norg.st |
Number of stigmas per level in every individual |
Norg.an |
Number of anthers per level in every individual |
LSTmeanX |
Mean value of the simulated long stigmas in the X axis |
LSTsdX |
Standard deviation of the simulated long stigmas in the X axis |
LANmeanX |
Mean value of the simulated long anthers in the X axis |
LANsdX |
Standard deviation of the simulated long anthers in the X axis |
SSTmeanX |
Mean value of the simulated short stigmas in the X axis |
SSTsdX |
Standard deviation of the simulated shor stigmas in the X axis |
SANmeanX |
Mean value of the simulated short anthers in the X axis |
SANsdX |
Standard deviation of the simulated short anthers in the X axis |
LSTmeanY |
Mean value of the simulated long stigmas in the Y axis |
LSTsdY |
Standard deviation of the simulated long stigmas in the Y axis |
LANmeanY |
Mean value of the simulated long anthers in the Y axis |
LANsdY |
Standard deviation of the simulated long anthers in the Y axis |
SSTmeanY |
Mean value of the simulated short stigmas in the Y axis |
SSTsdY |
Standard deviation of the simulated shor stigmas in the Y axis |
SANmeanY |
Mean value of the simulated short anthers in the Y axis |
SANsdY |
Standard deviation of the simulated short anthers in the Y axis |
LSTmeanZ |
Mean value of the simulated long stigmas in the Z axis |
LSTsdZ |
Standard deviation of the simulated long stigmas in the Z axis |
LANmeanZ |
Mean value of the simulated long anthers in the Z axis |
LANsdZ |
Standard deviation of the simulated long anthers in the Z axis |
SSTmeanZ |
Mean value of the simulated short stigmas in the Z axis |
SSTsdZ |
Standard deviation of the simulated shor stigmas in the Z axis |
SANmeanZ |
Mean value of the simulated short anthers in the Z axis |
SANsdZ |
Standard deviation of the simulated short anthers in the Z axis |
pop_code |
A string, the population code of the simulated data |
Values for sexual organs are randomly taken from a normal distribution with the defined mean and standard deviation.
A data frame with NID x Nst x Nan rows (one per simulated sexual organ) and 8 columns (containing population code, morph, individual ID, sexual organ ID, sexual organ type, and coordinates x, y and z).
A. J. Muñoz-Pajares and V. I. Simón-Porcar
## Getting a tiny dataset SimDimor(NIDL=2,NIDS=2) ## Getting a largest dataset and performing the analysis sim.data<-SimDimor(NIDL=30,NIDS=30) inaccuracy(sim.data)
## Getting a tiny dataset SimDimor(NIDL=2,NIDS=2) ## Getting a largest dataset and performing the analysis sim.data<-SimDimor(NIDL=30,NIDS=30) inaccuracy(sim.data)
Produces simulated datasets of heterostylous (trimorphic) individuals with as many rows as number of sex organs defined. One stigmas and two anthers are simulated per individual.
SimTrimor(NIDL=30,NIDM=30,NIDS=30, LUPmeanX=0, LUPsdX=1, LBWmeanX=0, LBWsdX=1, LLWmeanX=0, LLWsdX=1, MUPmeanX=0, MUPsdX=1, MBWmeanX=0, MBWsdX=1, MLWmeanX=0, MLWsdX=1, SUPmeanX=0, SUPsdX=1, SBWmeanX=0, SBWsdX=1, SLWmeanX=0, SLWsdX=1, LUPmeanY=0, LUPsdY=1, LBWmeanY=0, LBWsdY=1, LLWmeanY=0, LLWsdY=1, MUPmeanY=0, MUPsdY=1, MBWmeanY=0, MBWsdY=1, MLWmeanY=0, MLWsdY=1, SUPmeanY=0, SUPsdY=1, SBWmeanY=0, SBWsdY=1, SLWmeanY=0, SLWsdY=1, LUPmeanZ=0, LUPsdZ=1, LBWmeanZ=0, LBWsdZ=1, LLWmeanZ=0, LLWsdZ=1, MUPmeanZ=0, MUPsdZ=1, MBWmeanZ=0, MBWsdZ=1, MLWmeanZ=0, MLWsdZ=1, SUPmeanZ=0, SUPsdZ=1, SBWmeanZ=0, SBWsdZ=1, SLWmeanZ=0, SLWsdZ=1, pop_code="test1")
SimTrimor(NIDL=30,NIDM=30,NIDS=30, LUPmeanX=0, LUPsdX=1, LBWmeanX=0, LBWsdX=1, LLWmeanX=0, LLWsdX=1, MUPmeanX=0, MUPsdX=1, MBWmeanX=0, MBWsdX=1, MLWmeanX=0, MLWsdX=1, SUPmeanX=0, SUPsdX=1, SBWmeanX=0, SBWsdX=1, SLWmeanX=0, SLWsdX=1, LUPmeanY=0, LUPsdY=1, LBWmeanY=0, LBWsdY=1, LLWmeanY=0, LLWsdY=1, MUPmeanY=0, MUPsdY=1, MBWmeanY=0, MBWsdY=1, MLWmeanY=0, MLWsdY=1, SUPmeanY=0, SUPsdY=1, SBWmeanY=0, SBWsdY=1, SLWmeanY=0, SLWsdY=1, LUPmeanZ=0, LUPsdZ=1, LBWmeanZ=0, LBWsdZ=1, LLWmeanZ=0, LLWsdZ=1, MUPmeanZ=0, MUPsdZ=1, MBWmeanZ=0, MBWsdZ=1, MLWmeanZ=0, MLWsdZ=1, SUPmeanZ=0, SUPsdZ=1, SBWmeanZ=0, SBWsdZ=1, SLWmeanZ=0, SLWsdZ=1, pop_code="test1")
NIDL |
Number of large-morph individuals to be simulated |
NIDM |
Number of medium-morph individuals to be simulated |
NIDS |
Number of short-morph individuals to be simulated |
LUPmeanX |
Mean value of the simulated long morph for stigmas in the UP level (X axis). |
LUPsdX |
Standard deviation of the simulated long morph for stigmas in the UP level (X axis). |
LBWmeanX |
Mean value of the simulated long morph for stigmas in the BETWEEN level (X axis). |
LBWsdX |
Standard deviation of the simulated long morph for stigmas in the BETWEEN level (X axis). |
LLWmeanX |
Mean value of the simulated long morph for stigmas in the low (LW) level (X axis). |
LLWsdX |
Standard deviation of the simulated long morph for stigmas in the low (LW) level (X axis). |
MUPmeanX |
Mean value of the simulated medium morph for stigmas in the UP level (X axis). |
MUPsdX |
Standard deviation of the simulated medium morph for stigmas in the UP level (X axis). |
MBWmeanX |
Mean value of the simulated medium morph for stigmas in the BETWEEN level (X axis). |
MBWsdX |
Standard deviation of the simulated medium morph for stigmas in the BETWEEN level (X axis). |
MLWmeanX |
Mean value of the simulated medium morph for stigmas in the low (LW) level (X axis). |
MLWsdX |
Standard deviation of the simulated medium morph for stigmas in the low (LW) level (X axis). |
SUPmeanX |
Mean value of the simulated short morph for stigmas in the UP level (X axis). |
SUPsdX |
Standard deviation of the simulated short morph for stigmas in the UP level (X axis). |
SBWmeanX |
Mean value of the simulated short morph for stigmas in the BETWEEN level (X axis). |
SBWsdX |
Standard deviation of the simulated short morph for stigmas in the BETWEEN level (X axis). |
SLWmeanX |
Mean value of the simulated short morph for stigmas in the low (LOW) level (X axis). |
SLWsdX |
Standard deviation of the simulated short morph for stigmas in the low (LOW) level (X axis). |
LUPmeanY |
Mean value of the simulated long morph for stigmas in the UP level (Y axis). |
LUPsdY |
Standard deviation of the simulated long morph for stigmas in the UP level (Y axis). |
LBWmeanY |
Mean value of the simulated long morph for stigmas in the BETWEEN level (Y axis). |
LBWsdY |
Standard deviation of the simulated long morph for stigmas in the BETWEEN level (Y axis). |
LLWmeanY |
Mean value of the simulated long morph for stigmas in the low (LW) level (Y axis). |
LLWsdY |
Standard deviation of the simulated long morph for stigmas in the low (LW) level (Y axis). |
MUPmeanY |
Mean value of the simulated medium morph for stigmas in the UP level (Y axis). |
MUPsdY |
Standard deviation of the simulated medium morph for stigmas in the UP level (Y axis). |
MBWmeanY |
Mean value of the simulated medium morph for stigmas in the BETWEEN level (Y axis) |
MBWsdY |
Standard deviation of the simulated medium morph for stigmas in the BETWEEN level (Y axis). |
MLWmeanY |
Mean value of the simulated medium morph for stigmas in the low (LW) level (Y axis). |
MLWsdY |
Standard deviation of the simulated medium morph for stigmas in the low (LW) level (Y axis). |
SUPmeanY |
Mean value of the simulated short morph for stigmas in the UP level (Y axis). |
SUPsdY |
Standard deviation of the simulated short morph for stigmas in the UP level (Y axis). |
SBWmeanY |
Mean value of the simulated short morph for stigmas in the BETWEEN level (Y axis). |
SBWsdY |
Standard deviation of the simulated short morph for stigmas in the BETWEEN level (Y axis). |
SLWmeanY |
Mean value of the simulated short morph for stigmas in the low (LOW) level (Y axis). |
SLWsdY |
Standard deviation of the simulated short morph for stigmas in the low (LOW) level (Y axis). |
LUPmeanZ |
Mean value of the simulated long morph for stigmas in the UP level (Z axis). |
LUPsdZ |
Standard deviation of the simulated long morph for stigmas in the UP level (Z axis). |
LBWmeanZ |
Mean value of the simulated long morph for stigmas in the BETWEEN level (Z axis). |
LBWsdZ |
Standard deviation of the simulated long morph for stigmas in the BETWEEN level (Z axis). |
LLWmeanZ |
Mean value of the simulated long morph for stigmas in the low (LW) level (Z axis). |
LLWsdZ |
Standard deviation of the simulated long morph for stigmas in the low (LW) level (Z axis). |
MUPmeanZ |
Mean value of the simulated medium morph for stigmas in the UP level (Z axis). |
MUPsdZ |
Standard deviation of the simulated medium morph for stigmas in the UP level (Z axis). |
MBWmeanZ |
Mean value of the simulated medium morph for stigmas in the BETWEEN level (Z axis). |
MBWsdZ |
Standard deviation of the simulated medium morph for stigmas in the BETWEEN level (Z axis). |
MLWmeanZ |
Mean value of the simulated medium morph for stigmas in the low (LW) level (Z axis). |
MLWsdZ |
Standard deviation of the simulated medium morph for stigmas in the low (LW) level (Z axis). |
SUPmeanZ |
Mean value of the simulated short morph for stigmas in the UP level (Z axis). |
SUPsdZ |
Standard deviation of the simulated short morph for stigmas in the UP level (Z axis). |
SBWmeanZ |
Mean value of the simulated short morph for stigmas in the BETWEEN level (Z axis). |
SBWsdZ |
Standard deviation of the simulated short morph for stigmas in the BETWEEN level (Z axis). |
SLWmeanZ |
Mean value of the simulated short morph for stigmas in the low (LOW) level (Z axis). |
SLWsdZ |
Standard deviation of the simulated short morph for stigmas in the low (LOW) level (Z axis). |
pop_code |
A string, the population code of the simulated data |
Values for sex organs are randomly taken from normal distributions with the defined mean and standard deviation.
A data frame with NID x Nst x Nan rows (one per simulated sex organ) and 8 columns (containing population code, morph, individual ID, sex organ ID, sex organ type, and coordinates x, y and z).
A. J. Muñoz-Pajares and V. I. Simón-Porcar,
## Getting a tiny dataset SimTrimor(2,2,2) ## Getting a largest dataset and performing the analysis sim.data.tri<-SimTrimor(20,20,20) inaccuracy(sim.data.tri)
## Getting a tiny dataset SimTrimor(2,2,2) ## Getting a largest dataset and performing the analysis sim.data.tri<-SimTrimor(20,20,20) inaccuracy(sim.data.tri)
Simulated data for one tristylous population with 1D data
data(tristylous)
data(tristylous)
The dataset contains information from 180 sex organs from 60 individuals. For every sex organ, the dataset contains eight columns with the population code, morph, individual ID, sex organ ID, sex organ type, and coordinates x, y and z. Because the dataset contains information in only one dimension, x and z columns values are 0. This dataset has been obtained using the SimTrimor function as shown in the example section.
A data frame with 180 rows and 8 columns.
A.J. Muñoz-Pajares, V.I. Simón-Porcar
## This dataset has been generated using: set.seed(4444) SimTrimor(NIDL=20,NIDM=20,NIDS=20, LUPmeanX=0, LUPsdX=0, LBWmeanX=0 ,LBWsdX=0, LLWmeanX=0, LLWsdX=0, MUPmeanX=0, MUPsdX=0, MBWmeanX=0 ,MBWsdX=0, MLWmeanX=0, MLWsdX=0, SUPmeanX=0, SUPsdX=0, SBWmeanX=0 ,SBWsdX=0, SLWmeanX=0, SLWsdX=0, LUPmeanY=12, LUPsdY=2, LBWmeanY=8 ,LBWsdY=2, LLWmeanY=4, LLWsdY=2, MUPmeanY=12, MUPsdY=2, MBWmeanY=8 ,MBWsdY=2, MLWmeanY=4, MLWsdY=2, SUPmeanY=12, SUPsdY=2, SBWmeanY=8 ,SBWsdY=2, SLWmeanY=4, SLWsdY=2, LUPmeanZ=0, LUPsdZ=0, LBWmeanZ=0 ,LBWsdZ=0, LLWmeanZ=0, LLWsdZ=0, MUPmeanZ=0, MUPsdZ=0, MBWmeanZ=0 ,MBWsdZ=0, MLWmeanZ=0, MLWsdZ=0, SUPmeanZ=0, SUPsdZ=0, SBWmeanZ=0 ,SBWsdZ=0, SLWmeanZ=0, SLWsdZ=0, pop_code="tristylous") ## To load and test the inaccuracy function: data(tristylous) # inaccuracy(tristylous)
## This dataset has been generated using: set.seed(4444) SimTrimor(NIDL=20,NIDM=20,NIDS=20, LUPmeanX=0, LUPsdX=0, LBWmeanX=0 ,LBWsdX=0, LLWmeanX=0, LLWsdX=0, MUPmeanX=0, MUPsdX=0, MBWmeanX=0 ,MBWsdX=0, MLWmeanX=0, MLWsdX=0, SUPmeanX=0, SUPsdX=0, SBWmeanX=0 ,SBWsdX=0, SLWmeanX=0, SLWsdX=0, LUPmeanY=12, LUPsdY=2, LBWmeanY=8 ,LBWsdY=2, LLWmeanY=4, LLWsdY=2, MUPmeanY=12, MUPsdY=2, MBWmeanY=8 ,MBWsdY=2, MLWmeanY=4, MLWsdY=2, SUPmeanY=12, SUPsdY=2, SBWmeanY=8 ,SBWsdY=2, SLWmeanY=4, SLWsdY=2, LUPmeanZ=0, LUPsdZ=0, LBWmeanZ=0 ,LBWsdZ=0, LLWmeanZ=0, LLWsdZ=0, MUPmeanZ=0, MUPsdZ=0, MBWmeanZ=0 ,MBWsdZ=0, MLWmeanZ=0, MLWsdZ=0, SUPmeanZ=0, SUPsdZ=0, SBWmeanZ=0 ,SBWsdZ=0, SLWmeanZ=0, SLWsdZ=0, pop_code="tristylous") ## To load and test the inaccuracy function: data(tristylous) # inaccuracy(tristylous)
Simulated data for five tristylous populations with 1D data
data(tristylous1D)
data(tristylous1D)
The dataset contains information from 450 sexual organs from 150 individuals from 5 populations (30 individuals per population). For every sexual organ, the dataset contains eight columns with the population code, morph, individual ID, sexual organ ID, sexual organ type, and coordinates x, y and z. Because the dataset contains information in only one dimension, x and z columns values are 0. This dataset has been obtained using the SimDimor function recursively as shown in the example section.
A data frame with 450 rows and 8 columns.
A.J. Muñoz-Pajares, V.I. Simón-Porcar
## This dataset has been generated using: SEEDS<-12341:12345 exampleDataset<-c() for(i in 1:length(SEEDS)) { set.seed(SEEDS[i]) exampleDataset <- rbind(exampleDataset,SimTrimor(NIDL=10, NIDM=10, NIDS=10, LUPmeanX=0, LUPsdX=0, LBWmeanX=0, LBWsdX=0, LLWmeanX=0, LLWsdX=0, MUPmeanX=0, MUPsdX=0, MBWmeanX=0, MBWsdX=0, MLWmeanX=0, MLWsdX=0, SUPmeanX=0, SUPsdX=0, SBWmeanX=0, SBWsdX=0, SLWmeanX=0, SLWsdX=0, LUPmeanY=2, LUPsdY=0.5, LBWmeanY=2, LBWsdY=0.5, LLWmeanY=2, LLWsdY=0.5, MUPmeanY=2, MUPsdY=0.5, MBWmeanY=2, MBWsdY=0.5, MLWmeanY=2, MLWsdY=0.5, SUPmeanY=2, SUPsdY=0.5, SBWmeanY=2, SBWsdY=0.5, SLWmeanY=2, SLWsdY=0.5, LUPmeanZ=0, LUPsdZ=0, LBWmeanZ=0, LBWsdZ=0, LLWmeanZ=0, LLWsdZ=0, MUPmeanZ=0, MUPsdZ=0, MBWmeanZ=0, MBWsdZ=0, MLWmeanZ=0, MLWsdZ=0, SUPmeanZ=0, SUPsdZ=0, SBWmeanZ=0, SBWsdZ=0, SLWmeanZ=0, SLWsdZ=0)) } ## To load and test the inaccuracy function: data(tristylous1D) # inaccuracy(tristylous1D)
## This dataset has been generated using: SEEDS<-12341:12345 exampleDataset<-c() for(i in 1:length(SEEDS)) { set.seed(SEEDS[i]) exampleDataset <- rbind(exampleDataset,SimTrimor(NIDL=10, NIDM=10, NIDS=10, LUPmeanX=0, LUPsdX=0, LBWmeanX=0, LBWsdX=0, LLWmeanX=0, LLWsdX=0, MUPmeanX=0, MUPsdX=0, MBWmeanX=0, MBWsdX=0, MLWmeanX=0, MLWsdX=0, SUPmeanX=0, SUPsdX=0, SBWmeanX=0, SBWsdX=0, SLWmeanX=0, SLWsdX=0, LUPmeanY=2, LUPsdY=0.5, LBWmeanY=2, LBWsdY=0.5, LLWmeanY=2, LLWsdY=0.5, MUPmeanY=2, MUPsdY=0.5, MBWmeanY=2, MBWsdY=0.5, MLWmeanY=2, MLWsdY=0.5, SUPmeanY=2, SUPsdY=0.5, SBWmeanY=2, SBWsdY=0.5, SLWmeanY=2, SLWsdY=0.5, LUPmeanZ=0, LUPsdZ=0, LBWmeanZ=0, LBWsdZ=0, LLWmeanZ=0, LLWsdZ=0, MUPmeanZ=0, MUPsdZ=0, MBWmeanZ=0, MBWsdZ=0, MLWmeanZ=0, MLWsdZ=0, SUPmeanZ=0, SUPsdZ=0, SBWmeanZ=0, SBWsdZ=0, SLWmeanZ=0, SLWsdZ=0)) } ## To load and test the inaccuracy function: data(tristylous1D) # inaccuracy(tristylous1D)
Simulated data for five tristylous populations with 1D data
data(tristylous3D)
data(tristylous3D)
The dataset contains information from 450 sexual organs from 150 individuals from 5 populations (30 individuals per population). For every sexual organ, the dataset contains eight columns with the population code, morph, individual ID, sexual organ ID, sexual organ type, and coordinates x, y and z. This dataset has been obtained using the SimDimor function recursively as shown in the example section.
A data frame with 450 rows and 8 columns.
A.J. Muñoz-Pajares, V.I. Simón-Porcar
## This dataset has been generated using: SEEDS<-12341:12345 exampleDataset<-c() for(i in 1:length(SEEDS)) { set.seed(SEEDS[i]) exampleDataset <- rbind(exampleDataset,SimTrimor(NIDL=10, NIDM=10, NIDS=10, LUPmeanX=8, LUPsdX=0.5, LBWmeanX=4, LBWsdX=0.5, LLWmeanX=2, LLWsdX=0.5, MUPmeanX=8, MUPsdX=0.5, MBWmeanX=4, MBWsdX=0.5, MLWmeanX=2, MLWsdX=0.5, SUPmeanX=8, SUPsdX=0.5, SBWmeanX=4, SBWsdX=0.5, SLWmeanX=2, SLWsdX=0.5, LUPmeanY=2, LUPsdY=0.5, LBWmeanY=2, LBWsdY=0.5, LLWmeanY=2, LLWsdY=0.5, MUPmeanY=2, MUPsdY=0.5, MBWmeanY=2, MBWsdY=0.5, MLWmeanY=2, MLWsdY=0.5, SUPmeanY=2, SUPsdY=0.5, SBWmeanY=2, SBWsdY=0.5, SLWmeanY=2, SLWsdY=0.5, LUPmeanZ=6, LUPsdZ=0.5, LBWmeanZ=3, LBWsdZ=0.5, LLWmeanZ=2, LLWsdZ=0.5, MUPmeanZ=6, MUPsdZ=0.5, MBWmeanZ=3, MBWsdZ=0.5, MLWmeanZ=2, MLWsdZ=0.5, SUPmeanZ=6, SUPsdZ=0.5, SBWmeanZ=3, SBWsdZ=0.5, SLWmeanZ=2, SLWsdZ=0.5)) } ## To load and test the inaccuracy function: data(tristylous3D) # inaccuracy(tristylous3D)
## This dataset has been generated using: SEEDS<-12341:12345 exampleDataset<-c() for(i in 1:length(SEEDS)) { set.seed(SEEDS[i]) exampleDataset <- rbind(exampleDataset,SimTrimor(NIDL=10, NIDM=10, NIDS=10, LUPmeanX=8, LUPsdX=0.5, LBWmeanX=4, LBWsdX=0.5, LLWmeanX=2, LLWsdX=0.5, MUPmeanX=8, MUPsdX=0.5, MBWmeanX=4, MBWsdX=0.5, MLWmeanX=2, MLWsdX=0.5, SUPmeanX=8, SUPsdX=0.5, SBWmeanX=4, SBWsdX=0.5, SLWmeanX=2, SLWsdX=0.5, LUPmeanY=2, LUPsdY=0.5, LBWmeanY=2, LBWsdY=0.5, LLWmeanY=2, LLWsdY=0.5, MUPmeanY=2, MUPsdY=0.5, MBWmeanY=2, MBWsdY=0.5, MLWmeanY=2, MLWsdY=0.5, SUPmeanY=2, SUPsdY=0.5, SBWmeanY=2, SBWsdY=0.5, SLWmeanY=2, SLWsdY=0.5, LUPmeanZ=6, LUPsdZ=0.5, LBWmeanZ=3, LBWsdZ=0.5, LLWmeanZ=2, LLWsdZ=0.5, MUPmeanZ=6, MUPsdZ=0.5, MBWmeanZ=3, MBWsdZ=0.5, MLWmeanZ=2, MLWsdZ=0.5, SUPmeanZ=6, SUPsdZ=0.5, SBWmeanZ=3, SBWsdZ=0.5, SLWmeanZ=2, SLWsdZ=0.5)) } ## To load and test the inaccuracy function: data(tristylous3D) # inaccuracy(tristylous3D)