Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check precedences of metadata #99

Merged
merged 12 commits into from
Oct 18, 2023
32 changes: 20 additions & 12 deletions R/process.R
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,9 @@ dataset_process <- function(filename_data_raw,
}

# Where missing, fill variables in traits table with values from locations
# Currently overwriting dataset-level column metadata -- NEED FIX
# Trait metadata should probably have precedence -- right now trait metadata
# is being read in during `process_parse_data` and getting overwritten here #TODO

if (nrow(locations) > 0) {
vars <- c("basis_of_record", "life_stage", "collection_date",
"measurement_remarks", "entity_type")
Expand All @@ -149,8 +151,8 @@ dataset_process <- function(filename_data_raw,
dplyr::select(dplyr::any_of(c("location_id", "col_tmp"))) %>%
stats::na.omit()
)
# Use location level value if present
traits[[v]] <- ifelse(!is.na(traits_tmp[["col_tmp"]]), traits_tmp[["col_tmp"]], traits[[v]])
# Use location level value if present
traits[[v]] <- ifelse(!is.na(traits_tmp[["col_tmp"]]), traits_tmp[["col_tmp"]], traits[[v]])
}
}

Expand Down Expand Up @@ -193,12 +195,14 @@ dataset_process <- function(filename_data_raw,
taxonomic_updates <-
traits %>%
dplyr::select(
dplyr::all_of(c("dataset_id", "original_name", cleaned_name = "taxon_name", taxonomic_resolution = "taxonomic_resolution"))
dplyr::all_of(
c("dataset_id", "original_name", cleaned_name = "taxon_name",
taxonomic_resolution = "taxonomic_resolution"))
) %>%
dplyr::distinct() %>%
dplyr::arrange(.data$cleaned_name)

## A temporary dataframe created to generate and bind method_id,
## A temporary dataframe created to generate and bind `method_id`,
## for instances where the same trait is measured twice using different methods

# Test ABRS_2023
Expand Down Expand Up @@ -314,7 +318,8 @@ dataset_build <- function(
#' @return character text containing custom_R_code if custom_R_code is not empty,
#' otherwise no changes are made
process_custom_code <- function(txt) {
if (!is.null(txt) && !is.na(txt) && nchar(txt) > 0) {

if (!is.null(txt) && !is.na(txt) && nchar(txt) > 0) {

txt2 <-
# Trim white space, quotes, new line from front and back
Expand All @@ -324,17 +329,20 @@ process_custom_code <- function(txt) {
# test: txt <-" '' \n Total of 23.5 bitcoins. "

function(data) {
envir = new.env()

envir <- new.env()
# Read in extra functions used in custom R code
if(file.exists("R/custom_R_code.R")) {
if (file.exists("R/custom_R_code.R")) {
source("R/custom_R_code.R", local = envir)
}
eval(parse(text = txt2), envir = envir)
}

eval(parse(text = txt2), envir = envir)}
} else {

identity

}

}

#' Create entity id
Expand Down Expand Up @@ -1921,13 +1929,13 @@ build_update_taxonomy <- function(austraits_raw, taxa) {
taxon_rank = ifelse(!is.na(.data$taxon_rank), .data$taxonomic_resolution, .data$taxon_rank),
# Field trinomial is only filled in if taxonomic resolution is an infraspecific name
trinomial = ifelse(.data$taxon_rank %in% c("Subspecies", "Forma", "Varietas"),
stringr::str_split_fixed(.data$taxon_name, "\\[", 2)[,1] %>% stringr::str_trim(), NA),
stringr::str_split_fixed(.data$taxon_name, "\\[", 2)[, 1] %>% stringr::str_trim(), NA),
# Field binomial is filled in if taxonomic resolution is an infraspecific name or a binomial
# All taxon names that have "extra" information (beyond the actual name) have been formatted
# to have that information in square brackets '[]', so these can be used as a delimitor to
# extract the actual name
binomial = ifelse(.data$taxon_rank %in% c("Species"),
stringr::str_split_fixed(.data$taxon_name, "\\[", 2)[,1] %>% stringr::str_trim(), NA),
stringr::str_split_fixed(.data$taxon_name, "\\[", 2)[, 1] %>% stringr::str_trim(), NA),
binomial = ifelse(.data$taxon_rank %in% c("Subspecies", "Forma", "Varietas", "Series"),
stringr::word(.data$taxon_name, start = 1, end = 2), .data$binomial),
binomial = stringr::str_trim(.data$binomial),
Expand Down
1 change: 0 additions & 1 deletion R/testdata.R
Original file line number Diff line number Diff line change
Expand Up @@ -756,7 +756,6 @@ dataset_test_worker <-
# Check that special characters do not make it into the data
expect_no_error(
parsed_data <- data %>%
process_custom_code(metadata[["dataset"]][["custom_R_code"]])() %>%
process_parse_data(dataset_id, metadata, contexts, schema),
info = "`process_parse_data`")

Expand Down
9 changes: 5 additions & 4 deletions tests/testthat/examples/Test_2023_2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@ This dataset is for testing the following, for wide datasets:
- Check that `location_id` is NA for species `entity_type` measurements

Test_2023_2 is a copy of Falster_2005_1 with the following modifications:
- Added `replicates` as a column, with also trait-level metadata (included some NAs)
- Added `replicates` as a column at the dataset level, with also trait-level metadata (included some NAs)
- Added `basis_of_value` as a column at the trait level, with also some traits with fixed values (included some NAs)
- Added `value_type` as a column at the trait-level ("LASA1000"), not dataset-level (fixed value at dataset level) (included NAs in column)
- Added `basis_of_record`, `life_stage` as dataset-level, trait-level and location-level metadata
- Added `measurement_remarks` as location-level metadata
- Added `value_type` as a column at the trait level ("LASA1000"), not dataset-level (fixed value at dataset level) (included NAs in column)
- Added `basis_of_record` as dataset-level, trait-level and location-level metadata
- Added `measurement_remarks` as dataset-level column metadata, trait-level metadata and location-level metadata
- Added `life_stage` as dataset-level column metadata, location-level metadata and trait-level column metadata
- Read in `entity_type` as a fixed value and renamed "Species" column to "species"
- Added `source_id` column
- Removed latitude and longitude fields for both locations
Expand Down
94 changes: 47 additions & 47 deletions tests/testthat/examples/Test_2023_2/data.csv
Original file line number Diff line number Diff line change
@@ -1,47 +1,47 @@
species,species_abb,site,LMA (mg mm-2),Leaf nitrogen (mg mg-1),leaf size (mm2),wood density (mg mm-3),branch mass fraction,Seed mass (mg),LASA10,LASA250,LASA50,LASA1000,replicates,basis_of_value,value_type,life_stage,source_id,collection_date
Acacia celsa,acacel,Atherton,0.145,0.0214,2786,0.498,0.67,10.3,2977,7260,3722,6824,1,measurement,raw,adult,Test_2022,2004-02
Acacia celsa,acacel,Atherton,0.145,0.0214,2786,0.498,0.67,10.3,2977,7260,3722,6824,1,measurement,raw,adult,Test_2022,2004-03
Acronychia acidula,acraci,Atherton,0.085,0.0243,14302,0.525,0.48,,,7560,5541,9480,1,measurement,raw,adult,Test_2022,
Alphitonia petriei,alppet,Atherton,0.149,0.0163,6820,0.413,0.42,27.2,,4340,3313,4335,1,measurement,raw,adult,Test_2022,
Glochidion hylandii,glohyl,Atherton,0.106,0.0137,3209,0.566,0.41,10.41,1993,5075,5455,8664,3,measurement,mean,adult,Test_2002,
Homalanthus novoguineensis,omanov,Atherton,0.082,0.022,10682,0.319,0.47,7,,2136,2158,3307,3,model_derived,mean,seedling,Test_2002,
Melicope elleryana,melell,Atherton,0.075,0.0268,6955,0.346,0.58,1.61,,4201,2860,6119,3,unknown,mean,juvenile,Test_2002,
Neolitsea dealbata,neodea,Atherton,0.093,0.0164,5228,0.352,0.58,176.1,1686,2747,3049,7504,2,,mean,juvenile,Test_2002,
Polyscias australiana,polaus,Atherton,0.079,0.0154,6806,0.397,0.42,8.35,,6008,,6700,2,,mean,,Test_2002,
Psychotria sp Utchee Creek,psyspp,Atherton,0.108,0.0179,11157,0.582,0,23.09,,4977,2302,2037,,,mean,,Test_2002,
Rhodomyrtus trineura,rhotri,Atherton,0.129,0.0111,3401,0.763,0.34,,4321,3803,6088,6877,,,mean,,Test_2002,
Acmena graveolens,acmgra,Cape Tribulation,0.151,0.0155,5246,0.599,0.67,,,3057,2667,7156,,,,,Test_2002,
Aleurites rockinghamensis,aleroc,Cape Tribulation,0.113,0.0184,73984,0.28,0.02,7077,,4194,,6209,,,,,Test_2002,
Alstonia scholaris,alssch,Cape Tribulation,0.107,0.0223,6182,0.361,0.46,1.53,,1854,1682,3932,,,,,Test_2002,
Argyrodendron peralatum,argper,Cape Tribulation,0.244,0.0119,3201,0.726,0.71,433,,3832,1689,6718,,measurement,,,Test_2002,
Atractocarpus hirtus,atrhir,Cape Tribulation,0.072,0.0157,11374,0.804,0.28,,,7143,6727,6103,1,measurement,,,Test_2002,
Brombya platynema,bropla,Cape Tribulation,0.106,0.0188,8218,0.603,0.33,,,4261,3531,5377,1,measurement,,juvenile,Test_2002,
Cardwellia sublimis,carsub,Cape Tribulation,0.127,0.0128,4352,0.603,0.56,582.3,,6315,4880,8282,1,model_derived,,juvenile,Test_2022,
Castanospermum australe,casaus,Cape Tribulation,0.117,0.0237,2765,0.587,0.37,14851,,7329,,8869,3,model_derived,,juvenile,Test_2022,
Cleistanthus myrianthus,clemyr,Cape Tribulation,0.078,0.0228,4828,0.588,0.56,,3720,6084,5233,8559,3,measurement,raw,seedling,Test_2022,
Cryptocarya laevigata,crylae,Cape Tribulation,0.087,0.0156,2682,0.64,0.65,1281,1391,3297,4680,7588,3,measurement,maximum,seedling,Test_2022,
Cryptocarya mackinnoniana,crymac,Cape Tribulation,0.204,0.0152,10458,0.655,0.61,204,,3277,2325,8657,3,measurement,mean,seedling,Test_2022,
Cryptocarya murrayi,crymur,Cape Tribulation,0.155,0.0167,9960,0.674,0.39,,2693,5543,4298,5451,,measurement,mean,seedling,Test_2022,
Dendrocnide moroides,denmor,Cape Tribulation,0.052,0.0312,26454,0.23,0.46,0.71,,2372,,2090,,measurement,mean,seedling,Test_2022,
Elaeocarpus grandis,elaang,Cape Tribulation,0.122,0.0187,2762,0.499,0.47,3699,,2598,1748,4635,2,measurement,mean,seedling,Test_2022,
Endiandra leptodendron,endlep,Cape Tribulation,0.106,0.018,3987,0.611,0.68,,1492,2412,2783,7477,2,model_derived,mean,,Test_2022,
Endiandra microneura,endmic,Cape Tribulation,0.151,0.0177,3377,0.623,0.61,,3573,6344,3354,6235,2,unknown,mean,,Test_2022,
Gillbeea adenopetala,gilade,Cape Tribulation,0.126,0.0096,3678,0.43,0.46,15,,2863,3160,6549,2,unknown,mean,,Test_2022,
Haplostichanthus sp Coop. Ck,hapspp,Cape Tribulation,0.072,0.022,4685,0.668,0.36,,2430,12304,3282,2992,2,unknown,mean,,Test_2022,
Harpullia rhyticarpa,harrhy,Cape Tribulation,0.076,0.0174,40876,0.621,0.01,,,8971,5922,4669,2,unknown,mean,,Test_2022,
Hernandia albiflora,heralb,Cape Tribulation,0.069,0.0195,3806,0.447,0.33,,3123,4145,4643,6086,2,unknown,mean,,Test_2022,
Ixora biflora,ixobif,Cape Tribulation,0.081,0.01,2760,0.843,0.55,41.5,5244,3892,1969,8094,2,unknown,mean,adult,,
Lasianthus strigosus,lasstr,Cape Tribulation,0.055,0.0158,3313,0.684,0.15,7,1841,5100,2379,2731,2,unknown,mean,adult,,
Litsea leefeana,litlee,Cape Tribulation,0.13,0.0144,3917,0.549,0.68,263.4,3984,4141,3816,9645,2,unknown,mean,adult,,
Macaranga tanarius,mactan,Cape Tribulation,0.104,0.0205,46676,0.344,0,,,3377,,3901,2,unknown,mean,adult,,
Mallotus mollissimus,malmol,Cape Tribulation,0.063,0.0352,16716,0.373,0.32,31.25,1788,5580,5163,7944,2,unknown,mean,adult,Test_2022,
Medicosma sessiliflora,medses,Cape Tribulation,0.106,0.0153,8164,0.69,0.65,,2844,9332,6514,10298,2,unknown,mean,adult,Test_2022,
Melastoma cyanoides,melaff,Cape Tribulation,0.046,0.0208,4009,0.381,0.6,0.07,2960,4057,4661,6637,2,unknown,mean,adult,Test_2022,
Myristica insipida,myrins,Cape Tribulation,0.106,0.0185,8379,0.433,0.51,1612,,6929,4852,9273,2,unknown,mean,adult,Test_2022,
Pittosporum rubiginosum,pitrub,Cape Tribulation,0.065,0.0143,9931,0.728,0.28,27.94,7428,7459,5265,6548,2,unknown,mean,adult,Test_2022,
Psychotria dallachiana,psydal,Cape Tribulation,0.079,0.0177,2495,0.612,0.33,,4290,5666,4916,4761,2,unknown,mean,adult,Test_2022,
Quassia baileyana,quabai,Cape Tribulation,0.086,0.023,9624,0.501,0.42,,,5867,3216,5719,2,unknown,mean,adult,Test_2022,
Rockinghamia angustifolia,rocang,Cape Tribulation,0.108,0.0158,10636,0.455,0.39,19.38,,5862,4611,6098,2,unknown,mean,adult,Test_2022,
Syzygium gustavioides,syzgus,Cape Tribulation,0.167,0.0129,3590,0.521,0.59,48000,2833,3121,3047,6584,2,unknown,mean,adult,Test_2022,
Syzygium sayeri,syzsay,Cape Tribulation,0.131,0.0137,2645,0.485,0.65,841,3929,5767,4939,9836,2,unknown,mean,adult,Test_2022,
Trema aspera,treasp,Cape Tribulation,0.053,0.0299,2071,0.357,0.53,5.12,3578,5291,5440,6695,2,unknown,mean,adult,Test_2022,
species,species_abb,site,LMA (mg mm-2),Leaf nitrogen (mg mg-1),leaf size (mm2),wood density (mg mm-3),branch mass fraction,Seed mass (mg),LASA10,LASA250,LASA50,LASA1000,replicates,basis_of_value,value_type,life_stage,life_stage_seed_mass,source_id,measurement_remarks,collection_date
Acacia celsa,acacel,Atherton,0.145,0.0214,2786,0.498,0.67,10.3,2977,7260,3722,6824,1,measurement,raw,adult,juvenile,Test_2022,,2004-02
Acacia celsa,acacel,Atherton,0.145,0.0214,2786,0.498,0.67,10.3,2977,7260,3722,6824,1,measurement,raw,adult,juvenile,Test_2022,,2004-03
Acronychia acidula,acraci,Atherton,0.085,0.0243,14302,0.525,0.48,,,7560,5541,9480,1,measurement,raw,adult,juvenile,Test_2022,,
Alphitonia petriei,alppet,Atherton,0.149,0.0163,6820,0.413,0.42,27.2,,4340,3313,4335,1,measurement,raw,adult,juvenile,Test_2022,,
Glochidion hylandii,glohyl,Atherton,0.106,0.0137,3209,0.566,0.41,10.41,1993,5075,5455,8664,3,measurement,mean,adult,juvenile,Test_2002,,
Homalanthus novoguineensis,omanov,Atherton,0.082,0.022,10682,0.319,0.47,7,,2136,2158,3307,3,model_derived,mean,seedling,,Test_2002,,
Melicope elleryana,melell,Atherton,0.075,0.0268,6955,0.346,0.58,1.61,,4201,2860,6119,3,unknown,mean,juvenile,,Test_2002,,
Neolitsea dealbata,neodea,Atherton,0.093,0.0164,5228,0.352,0.58,176.1,1686,2747,3049,7504,2,,mean,juvenile,,Test_2002,,
Polyscias australiana,polaus,Atherton,0.079,0.0154,6806,0.397,0.42,8.35,,6008,,6700,2,,mean,,,Test_2002,Test dataset-level measurement_remarks,
Psychotria sp Utchee Creek,psyspp,Atherton,0.108,0.0179,11157,0.582,0,23.09,,4977,2302,2037,,,mean,,,Test_2002,Test dataset-level measurement_remarks,
Rhodomyrtus trineura,rhotri,Atherton,0.129,0.0111,3401,0.763,0.34,,4321,3803,6088,6877,,,mean,,,Test_2002,Test dataset-level measurement_remarks,
Acmena graveolens,acmgra,Cape Tribulation,0.151,0.0155,5246,0.599,0.67,,,3057,2667,7156,,,,,,Test_2002,Test dataset-level measurement_remarks,
Aleurites rockinghamensis,aleroc,Cape Tribulation,0.113,0.0184,73984,0.28,0.02,7077,,4194,,6209,,,,,,Test_2002,Test dataset-level measurement_remarks,
Alstonia scholaris,alssch,Cape Tribulation,0.107,0.0223,6182,0.361,0.46,1.53,,1854,1682,3932,,,,,,Test_2002,Test dataset-level measurement_remarks,
Argyrodendron peralatum,argper,Cape Tribulation,0.244,0.0119,3201,0.726,0.71,433,,3832,1689,6718,,measurement,,,,Test_2002,Test dataset-level measurement_remarks,
Atractocarpus hirtus,atrhir,Cape Tribulation,0.072,0.0157,11374,0.804,0.28,,,7143,6727,6103,1,measurement,,,,Test_2002,Test dataset-level measurement_remarks,
Brombya platynema,bropla,Cape Tribulation,0.106,0.0188,8218,0.603,0.33,,,4261,3531,5377,1,measurement,,juvenile,,Test_2002,,
Cardwellia sublimis,carsub,Cape Tribulation,0.127,0.0128,4352,0.603,0.56,582.3,,6315,4880,8282,1,model_derived,,juvenile,,Test_2022,,
Castanospermum australe,casaus,Cape Tribulation,0.117,0.0237,2765,0.587,0.37,14851,,7329,,8869,3,model_derived,,juvenile,,Test_2022,,
Cleistanthus myrianthus,clemyr,Cape Tribulation,0.078,0.0228,4828,0.588,0.56,,3720,6084,5233,8559,3,measurement,raw,seedling,,Test_2022,,
Cryptocarya laevigata,crylae,Cape Tribulation,0.087,0.0156,2682,0.64,0.65,1281,1391,3297,4680,7588,3,measurement,maximum,seedling,,Test_2022,,
Cryptocarya mackinnoniana,crymac,Cape Tribulation,0.204,0.0152,10458,0.655,0.61,204,,3277,2325,8657,3,measurement,mean,seedling,,Test_2022,,
Cryptocarya murrayi,crymur,Cape Tribulation,0.155,0.0167,9960,0.674,0.39,,2693,5543,4298,5451,,measurement,mean,seedling,,Test_2022,,
Dendrocnide moroides,denmor,Cape Tribulation,0.052,0.0312,26454,0.23,0.46,0.71,,2372,,2090,,measurement,mean,seedling,,Test_2022,,
Elaeocarpus grandis,elaang,Cape Tribulation,0.122,0.0187,2762,0.499,0.47,3699,,2598,1748,4635,2,measurement,mean,seedling,,Test_2022,,
Endiandra leptodendron,endlep,Cape Tribulation,0.106,0.018,3987,0.611,0.68,,1492,2412,2783,7477,2,model_derived,mean,,,Test_2022,,
Endiandra microneura,endmic,Cape Tribulation,0.151,0.0177,3377,0.623,0.61,,3573,6344,3354,6235,2,unknown,mean,,,Test_2022,,
Gillbeea adenopetala,gilade,Cape Tribulation,0.126,0.0096,3678,0.43,0.46,15,,2863,3160,6549,2,unknown,mean,,,Test_2022,,
Haplostichanthus sp Coop. Ck,hapspp,Cape Tribulation,0.072,0.022,4685,0.668,0.36,,2430,12304,3282,2992,2,unknown,mean,,,Test_2022,,
Harpullia rhyticarpa,harrhy,Cape Tribulation,0.076,0.0174,40876,0.621,0.01,,,8971,5922,4669,2,unknown,mean,,,Test_2022,,
Hernandia albiflora,heralb,Cape Tribulation,0.069,0.0195,3806,0.447,0.33,,3123,4145,4643,6086,2,unknown,mean,,,Test_2022,,
Ixora biflora,ixobif,Cape Tribulation,0.081,0.01,2760,0.843,0.55,41.5,5244,3892,1969,8094,2,unknown,mean,adult,seedling,,,
Lasianthus strigosus,lasstr,Cape Tribulation,0.055,0.0158,3313,0.684,0.15,7,1841,5100,2379,2731,2,unknown,mean,adult,seedling,,,
Litsea leefeana,litlee,Cape Tribulation,0.13,0.0144,3917,0.549,0.68,263.4,3984,4141,3816,9645,2,unknown,mean,adult,seedling,,,
Macaranga tanarius,mactan,Cape Tribulation,0.104,0.0205,46676,0.344,0,,,3377,,3901,2,unknown,mean,adult,seedling,,,
Mallotus mollissimus,malmol,Cape Tribulation,0.063,0.0352,16716,0.373,0.32,31.25,1788,5580,5163,7944,2,unknown,mean,adult,,Test_2022,,
Medicosma sessiliflora,medses,Cape Tribulation,0.106,0.0153,8164,0.69,0.65,,2844,9332,6514,10298,2,unknown,mean,adult,,Test_2022,,
Melastoma cyanoides,melaff,Cape Tribulation,0.046,0.0208,4009,0.381,0.6,0.07,2960,4057,4661,6637,2,unknown,mean,adult,,Test_2022,,
Myristica insipida,myrins,Cape Tribulation,0.106,0.0185,8379,0.433,0.51,1612,,6929,4852,9273,2,unknown,mean,adult,,Test_2022,,
Pittosporum rubiginosum,pitrub,Cape Tribulation,0.065,0.0143,9931,0.728,0.28,27.94,7428,7459,5265,6548,2,unknown,mean,adult,,Test_2022,,
Psychotria dallachiana,psydal,Cape Tribulation,0.079,0.0177,2495,0.612,0.33,,4290,5666,4916,4761,2,unknown,mean,adult,,Test_2022,,
Quassia baileyana,quabai,Cape Tribulation,0.086,0.023,9624,0.501,0.42,,,5867,3216,5719,2,unknown,mean,adult,,Test_2022,,
Rockinghamia angustifolia,rocang,Cape Tribulation,0.108,0.0158,10636,0.455,0.39,19.38,,5862,4611,6098,2,unknown,mean,adult,,Test_2022,,
Syzygium gustavioides,syzgus,Cape Tribulation,0.167,0.0129,3590,0.521,0.59,48000,2833,3121,3047,6584,2,unknown,mean,adult,,Test_2022,,
Syzygium sayeri,syzsay,Cape Tribulation,0.131,0.0137,2645,0.485,0.65,841,3929,5767,4939,9836,2,unknown,mean,adult,,Test_2022,,
Trema aspera,treasp,Cape Tribulation,0.053,0.0299,2071,0.357,0.53,5.12,3578,5291,5440,6695,2,unknown,mean,adult,,Test_2022,,
6 changes: 4 additions & 2 deletions tests/testthat/examples/Test_2023_2/metadata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ dataset:
description: Investigation into trait values correlated with plant height along
light availability and successional gradients for far north Queensland species.
basis_of_record: field
life_stage: adult
life_stage: life_stage
measurement_remarks: measurement_remarks
sampling_strategy: Nineteen species, ranging from early to late successional status,
were selected using published sources (Hopkins & Graham 1987; Osunkoya 1996; Hyland
et al. 1999). Species selected to represent the light gradient establish and mature
Expand Down Expand Up @@ -111,6 +112,7 @@ traits:
methods: Branch mass fraction was calculated as the mass side branches/total mass,
on a carbon dry mass basis. The zero values are correct - these are plants with
no branches.
measurement_remarks: Made-up remarks for `branch_mass_fraction`
- var_in: Seed mass (mg)
unit_in: mg
trait_name: seed_dry_mass
Expand All @@ -119,7 +121,7 @@ traits:
replicates: unknown
basis_of_record: literature
basis_of_value: basis_of_value
life_stage: seedling
life_stage: life_stage_seed_mass
methods: Mean oven-dried seed mass (including seed coat but excluding seed accessories)
was estimated for all species with available field material. In total, collections
for 17 of 47 species were made. Data for an additional 12 species were drawn from
Expand Down
Loading
Loading