public Phenotype extends TableReport
Phenotype represents phenotype data as a two dimensional matrix. Rows are observations. Columns are attributes.
java.lang.Object value(int obs,
int attrnum)
obs - an observation numberattrnum - the index or column number of the attributeboolean isMissing(int obs,
int attrnum)
obs - an observation numberattrnum - the index or column number of the attributePhenotypeAttribute attribute(int attrnum)
attrnum - the index or column number of the attributeint indexOfAttribute(PhenotypeAttribute attribute)
attribute - a PhenotypeAttributeint numberOfAttributes()
int numberOfObservations()
TaxaList taxa()
int numberOfAttributesOfType(net.maizegenetics.phenotype.Phenotype.ATTRIBUTE_TYPE type)
type - an attribute typekotlin.Array[] attributeIndicesOfType(net.maizegenetics.phenotype.Phenotype.ATTRIBUTE_TYPE type)
type - an attribute typenet.maizegenetics.phenotype.Phenotype.ATTRIBUTE_TYPE attributeType(int attrnum)
attrnum - the index or column number of an attributejava.lang.String attributeName(int attrnum)
attrnum - the index or column number of the attributejava.lang.String name()
boolean hasTaxaAttribute()
TaxaAttribute taxaAttribute()
java.util.List<net.maizegenetics.phenotype.PhenotypeAttribute> attributeListCopy()
java.util.List<net.maizegenetics.phenotype.PhenotypeAttribute> attributeListOfType(net.maizegenetics.phenotype.Phenotype.ATTRIBUTE_TYPE type)
type - an attribute typejava.util.stream.Stream<net.maizegenetics.phenotype.PhenotypeAttribute> attributeStream()
java.util.stream.Stream<net.maizegenetics.phenotype.NumericAttribute> dataAttributeStream()
java.util.stream.Stream<net.maizegenetics.phenotype.NumericAttribute> covariateAttributeStream()
java.util.stream.Stream<net.maizegenetics.phenotype.CategoricalAttribute> factorAttributeStream()
java.util.List<net.maizegenetics.phenotype.Phenotype.ATTRIBUTE_TYPE> typeListCopy()
int attributeIndexForName(java.lang.String name)
name - the name of an attributeboolean areTaxaReplicated()
Phenotype asCorePhenotype()
CorePhenotype may be more efficient in some cases than FilterPhenotype, though the difference will probably be small. For very large filtered data sets consider converting to CorePhenotype. The operation performed on a CorePhenotype will return the same Phenotype.