diff --git a/R/find.trait/BCI.R b/R/find.trait/BCI.R index 5d7539122d80b491c4267205d275b03bdaef742b..ba130cf416ea1e5026401dc2c6f89b7e3a709658 100644 --- a/R/find.trait/BCI.R +++ b/R/find.trait/BCI.R @@ -1,4 +1,4 @@ -##### FORMAT TRAIT FOR Canada +##### FORMAT TRAIT FOR NCI source("trait.fun.R") ### read species names @@ -52,18 +52,3 @@ write.csv(data.traits,file="../../output/formatted/BCI/traits.csv") -## delete the sp code with no species -species.clean <- subset(species.clean,subset=!is.na(species.clean$Latin_name)) - -## read in data -data.TRY.std <- readRDS("../../output/formatted/TRY/data.TRY.std.rds") -## read us max height -max.height <- read.csv(file="../../output/formatted/US/max.height.csv", stringsAsFactors = FALSE) -max.height$sp <- paste("sp",max.height$sp,sep=".") - -data.traits <- fun.extract.format.sp.traits.TRY(sp=species.clean[["sp"]],sp.syno.table=species.clean,data=data.TRY.std) - -data.traits <- merge(data.traits,subset(max.height,select=c("sp","Max.height.mean","Max.height.sd")),by="sp",all.x=TRUE,all.y=FALSE) -### TODO ADD GENUS MEAN FOR HEIGHT IF SPECIES IS MISSING -write.csv(data.traits,file="../../output/formatted/Canada/traits.csv") - diff --git a/R/find.trait/Fushan.R b/R/find.trait/Fushan.R new file mode 100644 index 0000000000000000000000000000000000000000..970cf3ca2d7d5b584f28b9064438c19ee44b79df --- /dev/null +++ b/R/find.trait/Fushan.R @@ -0,0 +1,42 @@ +##### FORMAT TRAIT FOR FUSHAN +source("trait.fun.R") + +### read species names +data.tree <- read.csv("../../output/formatted/Fushan/tree.csv", stringsAsFactors = FALSE) +species.clean <- data.frame(sp=data.tree[!duplicated(data.tree[["sp"]]),"sp"], + Latin_name=data.tree[!duplicated(data.tree[["sp"]]),"sp.name"], + Latin_name_syn=data.tree[!duplicated(data.tree[["sp"]]),"sp.name"], + stringsAsFactors =FALSE) + + +################ MASSAGE TRAIT DATA Obtain maximum height per species from data.trait no sd +################ available as we have only one observation for species +data.trait <- read.table("../../data/raw/Fushan/fs_trait_Kunstler.txt", header = T, + sep = "\t") +colnames(data.trait) <- c("sp", "sla", "wd", "seedmassmg", "meanN", "maxheightm") +data.trait <- merge(data.trait, data.frame(sp = species.clean$sp, Latin_name= species.clean$Latin_name, + stringsAsFactors = F), by = "sp") +data.trait$Leaf.N.mean <- data.trait$meanN*10; data.trait$meanN <- NULL; ## conversion from percentage to mg/g +data.trait$Leaf.N.sd <- NA +data.trait$Seed.mass.mean <- data.trait$seedmassmg; data.trait$seedmassmg <- NULL +data.trait$Seed.mass.sd <- NA +data.trait$SLA.mean <- data.trait$sla/10; data.trait$sla <- NULL +data.trait$SLA.sd <- NA +data.trait$Wood.density.mean <- data.trait$wd; data.trait$wd <- NULL +data.trait$Wood.density.sd <- NA +data.trait$Max.height.mean <- log10(data.trait$maxheightm); +data.trait$Max.height.sd <- NA +data.trait$maxheightm <- NULL + + +data.TRAITS.std <- data.trait +rm(data.trait) + +## extract +data.traits <- fun.extract.format.sp.traits.NOT.TRY(sp=species.clean$sp, Latin_name=species.clean$sp, data=data.TRAITS.std,name.match.traits="sp") + +### TODO ADD GENUS MEAN FOR HEIGHT IF SPECIES IS MISSING +write.csv(data.traits,file="../../output/formatted/Fushan/traits.csv") + + + diff --git a/R/format.data/Fushan.R b/R/format.data/Fushan.R index 127e49db477387bce9196b3f138922f2475c0292..48100fd9d398f73c10a39a09e1858c17370c0f42 100644 --- a/R/format.data/Fushan.R +++ b/R/format.data/Fushan.R @@ -24,7 +24,7 @@ data.fushan$sp.name <- rep(NA,nrow(data.fushan)) v <- species.clean$sp for (i in 1:length(unique(data.fushan$sp))) { sel.spp <- which(data.fushan$sp == unique(data.fushan$sp)[i]) - data.fushan$sp.name[sel.spp] <- paste(species.clean$family[sel.spp], species.clean$genus[sel.spp], + data.fushan$sp.name[sel.spp] <- paste(species.clean$genus[sel.spp], species.clean$epithet[sel.spp], sep = " ") } data.fushan$weights <- 1/(pi*(0.5*data.fushan$D/100)^2) @@ -47,28 +47,3 @@ write.csv(data.tree,file="../../output/formatted/Fushan/tree.csv") -################ MASSAGE TRAIT DATA Obtain maximum height per species from data.trait no sd -################ available as we have only one observation for species -data.trait <- read.table("../../data/raw/Fushan/fs_trait_Kunstler.txt", header = T, - sep = "\t") -colnames(data.trait) <- c("sp", "sla", "wd", "seedmassmg", "meanN", "maxheightm") -data.trait <- merge(data.trait, data.frame(sp = species.clean$sp, Latin = apply(species.clean[,c("genus","epithet")],1,paste,collapse="_"), - stringsAsFactors = F), by = "sp") -data.trait$Leaf.N.mean <- data.trait$meanN*10; data.trait$meanN <- NULL; ## conversion from percentage to mg/g -data.trait$Leaf.N.sd <- NA -data.trait$Seed.mass.mean <- data.trait$seedmassmg; data.trait$seedmassmg <- NULL -data.trait$Seed.mass.sd <- NA -data.trait$SLA.mean <- data.trait$sla/10; data.trait$sla <- NULL -data.trait$SLA.sd <- NA -data.trait$Wood.density.mean <- data.trait$wd; data.trait$wd <- NULL -data.trait$Wood.density.sd <- NA -data.trait$Max.height.mean <- log10(data.trait$maxheightm); -data.trait$Max.height.sd <- NA -data.max.height <- data.frame(sp = data.trait$sp, Max.height = log10(data.trait$maxheightm)) -data.fushan <- merge(data.fushan, data.max.height, by = "sp") -data.trait$maxheightm <- NULL - - -###### SAVE TRAITS IN STD FORMAT -write.csv(data.trait,file='../../output/formatted/Fushan/trait.csv') -