Commit 1c85bb44 authored by Georges Kunstler's avatar Georges Kunstler
Browse files

traits BCI Fushan

No related merge requests found
Showing with 44 additions and 42 deletions
+44 -42
##### FORMAT TRAIT FOR Canada ##### FORMAT TRAIT FOR NCI
source("trait.fun.R") source("trait.fun.R")
### read species names ### read species names
...@@ -52,18 +52,3 @@ write.csv(data.traits,file="../../output/formatted/BCI/traits.csv") ...@@ -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")
##### 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")
...@@ -24,7 +24,7 @@ data.fushan$sp.name <- rep(NA,nrow(data.fushan)) ...@@ -24,7 +24,7 @@ data.fushan$sp.name <- rep(NA,nrow(data.fushan))
v <- species.clean$sp v <- species.clean$sp
for (i in 1:length(unique(data.fushan$sp))) { for (i in 1:length(unique(data.fushan$sp))) {
sel.spp <- which(data.fushan$sp == unique(data.fushan$sp)[i]) 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 = " ") species.clean$epithet[sel.spp], sep = " ")
} }
data.fushan$weights <- 1/(pi*(0.5*data.fushan$D/100)^2) 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") ...@@ -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')
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment