diff --git a/Makefile b/Makefile index cdcde23f6abaf0a08376a0eb805634ba6153f7ee..5dc566ddbf9116ca4ff65060f411ff7f262db9f2 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,117 @@ -all: output/list.US.DR.DO.Rdata +D1 := data/raw +D2 := output/formatted -output/list.US.DR.DO.Rdata: - Rscript merge.data.US.R +all: TRY Canada France NVS Spain Sweden Swiss US BCI + # BCI Fushan NSW Paracou -clean: - rm -f output/* +TRY: $(D2)/TRY/data.TRY.std.rds + +$(D2)/TRY/data.TRY.std.rds: + Rscript R/format.data/TRY.R + +BCI: $(D2)/BCI/traits.csv + +$(D2)/BCI/traits.csv: R/find.trait/BCI.R $(D2)/BCI/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/BCI/tree.csv: R/format.data/BCI.R $(shell find $(D1)/BCI -type f) + Rscript $< + +Canada: $(D2)/Canada/traits.csv + +$(D2)/Canada/traits.csv: R/find.trait/Canada.R $(D2)/Canada/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/Canada/tree.csv: R/format.data/Canada.R $(shell find $(D1)/Canada -type f) + Rscript $< + +France: $(D2)/France/traits.csv + +$(D2)/France/traits.csv: R/find.trait/France.R $(D2)/France/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/France/tree.csv: R/format.data/France.R $(shell find $(D1)/France -type f) + Rscript $< + +Fushan: $(D2)/Fushan/traits.csv + +$(D2)/Fushan/traits.csv: R/find.trait/Fushan.R $(D2)/Fushan/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/Fushan/tree.csv: R/format.data/Fushan.R $(shell find $(D1)/Fushan -type f) + Rscript $< + +NSW: $(D2)/NSW/traits.csv + +$(D2)/NSW/traits.csv: R/find.trait/NSW.R $(D2)/NSW/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/NSW/tree.csv: R/format.data/NSW.R $(shell find $(D1)/NSW -type f) + Rscript $< + +NVS: $(D2)/NVS/traits.csv + +$(D2)/NVS/traits.csv: R/find.trait/NVS.R $(D2)/NVS/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/NVS/tree.csv: R/format.data/NVS.R $(shell find $(D1)/NVS -type f) + Rscript $< + +Paracou: $(D2)/Paracou/traits.csv + +$(D2)/Paracou/traits.csv: R/find.trait/Paracou.R $(D2)/Paracou/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/Paracou/tree.csv: R/format.data/Paracou.R $(shell find $(D1)/Paracou -type f) + Rscript $< + +Spain: $(D2)/Spain/traits.csv + +$(D2)/Spain/traits.csv: R/find.trait/Spain.R $(D2)/Spain/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/Spain/tree.csv: R/format.data/Spain.R $(shell find $(D1)/Spain -type f) + Rscript $< + +Sweden: $(D2)/Sweden/traits.csv + +$(D2)/Sweden/traits.csv: R/find.trait/Sweden.R $(D2)/Sweden/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/Sweden/tree.csv: R/format.data/Sweden.R $(shell find $(D1)/Sweden -type f) + Rscript $< + +Swiss: $(D2)/Swiss/traits.csv + +$(D2)/Swiss/traits.csv: R/find.trait/Swiss.R $(D2)/Swiss/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/Swiss/tree.csv: R/format.data/Swiss.R $(shell find $(D1)/Swiss -type f) + Rscript $< + +US: $(D2)/US/traits.csv + +$(D2)/US/traits.csv: R/find.trait/US.R $(D2)/US/tree.csv $(D2)/TRY/data.TRY.std.rds + Rscript $< + +$(D2)/US/tree.csv: R/format.data/US.R $(shell find $(D1)/US -type f) + Rscript $< + + + +# This susbtitution rule should work as rule, but not, why not? +# docs/output/formatted/%/tree.csv: $(D1)/%/* %.R +# Rscript %.R + +# Is based on this which does work +# %-tree.csv: %/* %/*/* %.R +# Rscript $*.R + +# code to generate makefile contents +# s = dir("data/metadata/sites") +# cat((sprintf("%s: output/formatted/%s/traits.csv\n +# output/formatted/%s/traits.csv: output/formatted/%s/tree.csv R/find.trait/%s.R +# \tRscript R/find.trait/%s.R\n +# output/formatted/%s/tree.csv: $(shell find data/raw/%s -type f) %s.R +# \tRscript %s.R\n\n",s,s,s,s,s,s,s,s,s,s,s)), file="temp.txt") -.PHONY: all clean diff --git a/R/find.trait/BCI.R b/R/find.trait/BCI.R index 7daf8cf9128ab3f7a760f49ec9fa571a9d60ec4e..948d2f0c3365aed38e0ecc04466c2a48a67b9fa7 100644 --- a/R/find.trait/BCI.R +++ b/R/find.trait/BCI.R @@ -1,10 +1,10 @@ #!/usr/bin/env Rscript ##### FORMAT TRAIT FOR Canada -source("../find.trait/trait.fun.R") +source("R/find.trait/trait.fun.R") ### read species names -data.tree <- read.csv("../../output/formatted/BCI/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/BCI/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"], @@ -13,9 +13,9 @@ species.clean <- data.frame(sp=data.tree[!duplicated(data.tree[["sp"]]),"sp"], ###################################### MASSAGE TRAIT DATA Use HEIGHT_AVG, LMALAM_AVD, SEED_DRY -## data.trait.new <- read.table("../../data/raw/BCI/Kunstler.BCI.traits.txt", stringsAsFactors = FALSE, +## data.trait.new <- read.table("data/raw/BCI/Kunstler.BCI.traits.txt", stringsAsFactors = FALSE, ## header = T) #### NEW DATA BASE SENT PER JOE NEED RESTRUCTURE OF THE CODE -data.trait <- read.csv("../../data/raw/BCI/BCITRAITS_20101220.csv", stringsAsFactors = FALSE, +data.trait <- read.csv("data/raw/BCI/BCITRAITS_20101220.csv", stringsAsFactors = FALSE, header = T) data.trait$Latin <- apply(data.trait[, 1:2], 1, paste, collapse = " ") @@ -53,7 +53,7 @@ data.traits <- fun.extract.format.sp.traits.NOT.TRY(sp=species.clean$Latin_name, data.traits$sp <- species.clean$sp ### TODO ADD GENUS MEAN FOR HEIGHT IF SPECIES IS MISSING -write.csv(data.traits,file="../../output/formatted/BCI/traits.csv",row.names = FALSE) +write.csv(data.traits,file="output/formatted/BCI/traits.csv",row.names = FALSE) diff --git a/R/find.trait/Canada.R b/R/find.trait/Canada.R index b8505d44773f2d1586a9be2b07d6bb1bc06186ef..b6db9e742935abd7ca32760027287a0307d22a63 100644 --- a/R/find.trait/Canada.R +++ b/R/find.trait/Canada.R @@ -1,10 +1,10 @@ #!/usr/bin/env Rscript ##### FORMAT TRAIT FOR Canada -source("../find.trait/trait.fun.R") +source("R/find.trait/trait.fun.R") ### read species names -data.tree <- read.csv("../../output/formatted/Canada/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/Canada/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"], @@ -14,15 +14,15 @@ species.clean <- data.frame(sp=data.tree[!duplicated(data.tree[["sp"]]),"sp"], 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") +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 <- 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",row.names = FALSE) +write.csv(data.traits,file="output/formatted/Canada/traits.csv",row.names = FALSE) #Testing GIT! diff --git a/R/find.trait/France.R b/R/find.trait/France.R index da385a848373d91bc7be978b8bf2191bdc111858..5a44a96ce2480c2b7b92bfcd41d53c975758d4fa 100644 --- a/R/find.trait/France.R +++ b/R/find.trait/France.R @@ -1,11 +1,11 @@ #!/usr/bin/env Rscript ##### FORMAT TRAIT FOR France -source("../find.trait/trait.fun.R") -source("../format.data/format.fun.R") +source("R/find.trait/trait.fun.R") +source("R/format.data/format.fun.R") ### read species names -species.clean <- (read.csv("../../data/raw/France/species.csv", stringsAsFactors = FALSE)) +species.clean <- (read.csv("data/raw/France/species.csv", stringsAsFactors = FALSE)) species.clean$Latin_name <- (gsub("_", " ", species.clean$Latin_name)) species.clean$Latin_name_syn<- (gsub("_", " ", species.clean$Latin_name_syn)) species.clean <- subset(species.clean,subset=!is.na(species.clean$Latin_name_syn)) @@ -13,12 +13,12 @@ species.clean <- subset(species.clean,subset=!duplicated(species.clean$Latin_na species.clean$sp <- species.clean$code species.clean$code <- NULL ## read in data -data.TRY.std <- readRDS("../../output/formatted/TRY/data.TRY.std.rds") -max.height <- read.csv(file="../../output/formatted/France/max.height.csv", stringsAsFactors = FALSE) +data.TRY.std <- readRDS("output/formatted/TRY/data.TRY.std.rds") +max.height <- read.csv(file="output/formatted/France/max.height.csv", stringsAsFactors = FALSE) ### extract and add height 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/France/traits.csv",row.names = FALSE) +write.csv(data.traits,file="output/formatted/France/traits.csv",row.names = FALSE) diff --git a/R/find.trait/Fushan.R b/R/find.trait/Fushan.R index d8866205d9c6438c720d45a451bdee2c48710c16..5a1d7b8f461841076083fb3c1e3f1b57dd089cdd 100644 --- a/R/find.trait/Fushan.R +++ b/R/find.trait/Fushan.R @@ -1,10 +1,10 @@ #!/usr/bin/env Rscript ##### FORMAT TRAIT FOR FUSHAN -source("../find.trait/trait.fun.R") +source("R/find.trait/trait.fun.R") ### read species names -data.tree <- read.csv("../../output/formatted/Fushan/tree.csv", stringsAsFactors = FALSE) +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"], @@ -13,7 +13,7 @@ species.clean <- data.frame(sp=data.tree[!duplicated(data.tree[["sp"]]),"sp"], ################ 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, +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, @@ -38,7 +38,7 @@ rm(data.trait) 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",row.names = FALSE) +write.csv(data.traits,file="output/formatted/Fushan/traits.csv",row.names = FALSE) diff --git a/R/find.trait/NVS.R b/R/find.trait/NVS.R index c61c45c21d835e53bf56ac9fe656aee688c84ffe..7336f4bfd0049d42452268b3a5fb443d1e292a65 100644 --- a/R/find.trait/NVS.R +++ b/R/find.trait/NVS.R @@ -1,10 +1,10 @@ #!/usr/bin/env Rscript ##### FORMAT TRAIT FOR NVS -source("../find.trait/trait.fun.R") +source("R/find.trait/trait.fun.R") ### read species names -data.tree <- read.csv("../../output/formatted/NVS/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/NVS/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"], @@ -15,7 +15,7 @@ species.clean <- subset(species.clean,subset=!is.na(species.clean$Latin_name)) ## read in local trait data -data.trait <- read.csv("../../data/raw/NVS/nz_traits_130801.csv", , header = TRUE, stringsAsFactors = FALSE) +data.trait <- read.csv("data/raw/NVS/nz_traits_130801.csv", , header = TRUE, stringsAsFactors = FALSE) data.trait <- data.trait[, -1] colnames(data.trait)[1] <- "sp" data.trait$Latin_name <- data.trait$sp @@ -34,4 +34,4 @@ data.trait$Max.height.sd <- NA data.traits <- fun.extract.format.sp.traits.NOT.TRY(sp=species.clean$sp, Latin_name=species.clean$Latin_name, data=data.trait,name.match.traits="Latin_name") ### TODO ADD GENUS MEAN FOR HEIGHT IF SPECIES IS MISSING -write.csv(data.traits,file="../../output/formatted/NVS/traits.csv",row.names = FALSE) +write.csv(data.traits,file="output/formatted/NVS/traits.csv",row.names = FALSE) diff --git a/R/find.trait/Spain.R b/R/find.trait/Spain.R index 5d00c1952534aaf27cb111de1389adc83d1fee54..94b51a7b5e03b95978c6fb43b2769d3b717a0f9c 100644 --- a/R/find.trait/Spain.R +++ b/R/find.trait/Spain.R @@ -1,10 +1,10 @@ #!/usr/bin/env Rscript ##### FORMAT TRAIT FOR SPAIN -source("../find.trait/trait.fun.R") +source("R/find.trait/trait.fun.R") ### read species names -data.tree <- read.csv("../../output/formatted/Spain/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/Spain/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"], @@ -13,8 +13,8 @@ species.clean <- data.frame(sp=data.tree[!duplicated(data.tree[["sp"]]),"sp"], ## select column to keep ## read in data -data.TRY.std <- readRDS("../../output/formatted/TRY/data.TRY.std.rds") -max.height <- read.csv(file="../../output/formatted/Spain/max.height.csv", stringsAsFactors = FALSE) +data.TRY.std <- readRDS("output/formatted/TRY/data.TRY.std.rds") +max.height <- read.csv(file="output/formatted/Spain/max.height.csv", stringsAsFactors = FALSE) max.height$sp <- paste("sp",max.height$sp,sep=".") ## extract traits and height @@ -22,5 +22,5 @@ data.traits <- fun.extract.format.sp.traits.TRY(sp=species.clean[["sp"]],sp.syno 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/Spain/traits.csv",row.names = FALSE) +write.csv(data.traits,file="output/formatted/Spain/traits.csv",row.names = FALSE) diff --git a/R/find.trait/Sweden.R b/R/find.trait/Sweden.R index eab0e63cca2416e8841735f3b5cc8169ed178c0c..aa4996375a3a32e8bd3aa0d29373f7857a8f05d1 100644 --- a/R/find.trait/Sweden.R +++ b/R/find.trait/Sweden.R @@ -1,10 +1,10 @@ #!/usr/bin/env Rscript ##### FORMAT TRAIT FOR Sweden -source("../find.trait/trait.fun.R") +source("R/find.trait/trait.fun.R") ### read species names -data.tree <- read.csv("../../output/formatted/Sweden/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/Sweden/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"], @@ -15,11 +15,11 @@ species.clean <- subset(species.clean,subset=!is.na(species.clean$Latin_name)) ## select column to keep ## read in data -data.TRY.std <- readRDS("../../output/formatted/TRY/data.TRY.std.rds") +data.TRY.std <- readRDS("output/formatted/TRY/data.TRY.std.rds") ## read France max height -max.height <- read.csv(file="../../output/formatted/France/max.height.csv", stringsAsFactors = FALSE) +max.height <- read.csv(file="output/formatted/France/max.height.csv", stringsAsFactors = FALSE) ## load latin name France -data.tree <- read.csv("../../output/formatted/France/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/France/tree.csv", stringsAsFactors = FALSE) species.clean2 <- 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"], @@ -32,5 +32,5 @@ data.traits <- fun.extract.format.sp.traits.TRY(sp=species.clean[["sp"]],sp.syno data.traits <- merge(data.traits,subset(max.height,select=c("Latin_name","Max.height.mean","Max.height.sd")),by="Latin_name",all.x=TRUE,all.y=FALSE) ### TODO ADD GENUS MEAN FOR HEIGHT IF SPECIES IS MISSING -write.csv(data.traits,file="../../output/formatted/Sweden/traits.csv",row.names = FALSE) +write.csv(data.traits,file="output/formatted/Sweden/traits.csv",row.names = FALSE) diff --git a/R/find.trait/Swiss.R b/R/find.trait/Swiss.R index a68b7fbf6a12a75f2f0f5110f3d71789bd3c4c92..2d5edb1eb45a6c7aa2e85f82fcbf583fc26c4780 100644 --- a/R/find.trait/Swiss.R +++ b/R/find.trait/Swiss.R @@ -1,10 +1,10 @@ #!/usr/bin/env Rscript ##### FORMAT TRAIT FOR Swiss -source("../find.trait/trait.fun.R") +source("R/find.trait/trait.fun.R") ### read species names -data.tree <- read.csv("../../output/formatted/Swiss/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/Swiss/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"], @@ -13,8 +13,8 @@ species.clean <- data.frame(sp=data.tree[!duplicated(data.tree[["sp"]]),"sp"], ## select column to keep ## read in data -data.TRY.std <- readRDS("../../output/formatted/TRY/data.TRY.std.rds") -max.height <- read.csv(file="../../output/formatted/Swiss/max.height.csv", stringsAsFactors = FALSE) +data.TRY.std <- readRDS("output/formatted/TRY/data.TRY.std.rds") +max.height <- read.csv(file="output/formatted/Swiss/max.height.csv", stringsAsFactors = FALSE) max.height$sp <- paste("sp",max.height$code,sep=".") ## extract traits and height @@ -22,5 +22,5 @@ data.traits <- fun.extract.format.sp.traits.TRY(sp=species.clean[["sp"]],sp.syno 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/Swiss/traits.csv",row.names = FALSE) +write.csv(data.traits,file="output/formatted/Swiss/traits.csv",row.names = FALSE) diff --git a/R/find.trait/US.R b/R/find.trait/US.R index 7fa492d848dd8321aace33693a24674d37cda1e0..c493c5caf6e1bd1361ec8ea1a14b34bd6e80643a 100644 --- a/R/find.trait/US.R +++ b/R/find.trait/US.R @@ -1,10 +1,10 @@ #!/usr/bin/env Rscript ##### FORMAT TRAIT FOR US -source("../find.trait/trait.fun.R") +source("R/find.trait/trait.fun.R") ### read species names -data.tree <- read.csv("../../output/formatted/US/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/US/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"], @@ -12,13 +12,13 @@ species.clean <- data.frame(sp=data.tree[!duplicated(data.tree[["sp"]]),"sp"], ## read in data -data.TRY.std <- readRDS("../../output/formatted/TRY/data.TRY.std.rds") -max.height <- read.csv(file="../../output/formatted/US/max.height.csv", stringsAsFactors = FALSE) +data.TRY.std <- readRDS("output/formatted/TRY/data.TRY.std.rds") +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/US/traits.csv",row.names = FALSE) +write.csv(data.traits,file="output/formatted/US/traits.csv",row.names = FALSE) diff --git a/R/find.trait/trait.fun.R b/R/find.trait/trait.fun.R index d19e5446f454ac1cbe2fee83dd981b84125f448a..24434004b32e7a41b36aa688f935173276300bd1 100644 --- a/R/find.trait/trait.fun.R +++ b/R/find.trait/trait.fun.R @@ -3,7 +3,7 @@ ### just testing this out! ############## ### install all unstallled packages -source("../packages.R") +source("R/packages.R") check_packages(c("MASS", "doParallel","mvoutlier","plyr")) ## outlier detection based on Kattage et al 2011 diff --git a/R/format.data/BCI.R b/R/format.data/BCI.R index 5b2aa957b3272febb10353dd915d735aa4c77bb0..a64b9a070424597dee0be0d8428c116ea749b686 100644 --- a/R/format.data/BCI.R +++ b/R/format.data/BCI.R @@ -3,19 +3,19 @@ ### MERGE BCI DATA rm(list = ls()) -source("format.fun.R") -dir.create("../../output/formatted/BCI", recursive=TRUE,showWarnings=FALSE) +source("R/format.data/format.fun.R") +dir.create("output/formatted/BCI", recursive=TRUE,showWarnings=FALSE) library(reshape,quietly=TRUE) ############# READ DATA read individuals tree data Requires careful formatting of 7 census ############ datasets The raw data is such that, once a tree dies in census X, then it no ########## longer exists in census X+1, X+2 etc... -data.bci1 <- read.table("../../data/raw/BCI/census1/PlotsDataReport.txt", header = TRUE, +data.bci1 <- read.table("data/raw/BCI/census1/PlotsDataReport.txt", header = TRUE, stringsAsFactors = FALSE, sep = "\t") data.bci1$Date1 <- data.bci1$Date; data.bci1$Date <- NULL data.bci1$DBH1 <- data.bci1$DBH; data.bci1$DBH <- NULL big.bci <- NULL for (k in 2:7) { - new.directory <- paste("../../data/raw/BCI/census", k, "/PlotsDataReport.txt", + new.directory <- paste("data/raw/BCI/census", k, "/PlotsDataReport.txt", sep = "") data.bci2 <- read.table(new.directory, header = TRUE, stringsAsFactors = FALSE, sep = "\t"); @@ -41,7 +41,7 @@ big.bci <- big.bci[order(big.bci$TreeID), ] data.bci <- big.bci rm(big.bci) ### read species names -species.clean <- read.table("../../data/raw/BCI/TaxonomyDataReport.txt", stringsAsFactors = FALSE, +species.clean <- read.table("data/raw/BCI/TaxonomyDataReport.txt", stringsAsFactors = FALSE, header = T, sep = "\t") species.clean$Latin_name <- paste(species.clean[["Genus"]], species.clean[["species"]],sep=" ") @@ -78,4 +78,4 @@ vec.basic.var <- c("obs.id","tree.id", "sp", "sp.name","plot", "subplot", "D", " data.tree <- subset(data.bci, select = c(vec.basic.var)) -write.csv(data.tree,file="../../output/formatted/BCI/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/BCI/tree.csv",row.names = FALSE) diff --git a/R/format.data/Canada.R b/R/format.data/Canada.R index 803b29348d208a7432023412e95a96a88a04fdc2..cdc883223ac751727748cba5b5c07eded7dd2507 100644 --- a/R/format.data/Canada.R +++ b/R/format.data/Canada.R @@ -2,19 +2,19 @@ ### MERGE canada DATA rm(list = ls()) -source("format.fun.R") +source("R/format.data/format.fun.R") library(reshape) -dir.create("../../output/formatted/Canada", recursive=TRUE,showWarnings=FALSE) +dir.create("output/formatted/Canada", recursive=TRUE,showWarnings=FALSE) ######################### READ DATA read individuals tree data -data.canada <- read.csv("../../data/raw/Canada/Canada_Data2George_20130910.csv", +data.canada <- read.csv("data/raw/Canada/Canada_Data2George_20130910.csv", header = TRUE, stringsAsFactors = FALSE) sum(is.na(data.canada$species)) data.canada$sp = data.canada$species_FIACode data.canada$species_FIACode <- NULL ### read species names and merge with data.canada -species.clean <- read.csv("../../data/raw/Canada/FIA_REF_SPECIES.csv", stringsAsFactors = FALSE) +species.clean <- read.csv("data/raw/Canada/FIA_REF_SPECIES.csv", stringsAsFactors = FALSE) species.clean$Latin_name <- paste(species.clean$GENUS,species.clean$SPECIES, sep=" ") species.clean$Latin_name_syn<- paste(species.clean$GENUS,species.clean$SPECIES, sep=" ") data.canada <- merge(data.canada, data.frame(sp = species.clean$SPCD, Latin_name=species.clean[,"Latin_name"], stringsAsFactors = F), by = "sp", all.x = T) @@ -42,7 +42,7 @@ data.canada$census <- rep(1,nrow(data.canada)) data.canada$obs.id <- data.canada$tree.id data.canada$weights <- 1/(data.canada$SubPlotSize*10000) ### there is some strange small value in SubPlotSize 20 m^2 even for large tree NEED TO ASK Hongcheng ## REPLY BETTER TO DElETE THIS PLOTS HE DON T KNOW WHY SO SMALLL ###################### ECOREGION merge to have no ecoregion with low number of observation -greco <- read.csv(file = "../../data/raw/Canada/EcoregionCodes.csv", header = T, +greco <- read.csv(file = "data/raw/Canada/EcoregionCodes.csv", header = T, sep = "\t") data.canada$ecocode <- data.canada$Ecocode; data.canada$Ecocode <- NULL table(data.canada$ecocode) @@ -77,5 +77,5 @@ vec.abio.var.names <- c("MAT", "MAP") vec.basic.var <- c("obs.id","tree.id", "sp", "sp.name","cluster","plot", "ecocode", "D", "G", "dead", "year", "htot", "Lon", "Lat", "perc.dead","weights","census") data.tree <- subset(data.canada, select = c(vec.basic.var, vec.abio.var.names)) -write.csv(data.tree,file="../../output/formatted/Canada/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/Canada/tree.csv",row.names = FALSE) diff --git a/R/format.data/France.R b/R/format.data/France.R index 2d7f834d5924b5419381697e529784273a669640..932f9fc704b1589fd5456bdbac82f9291ba465b8 100644 --- a/R/format.data/France.R +++ b/R/format.data/France.R @@ -1,15 +1,15 @@ #!/usr/bin/env Rscript ############################################# MERGE FRENCH DATA rm(list = ls()); -source("format.fun.R") +source("R/format.data/format.fun.R") library(reshape) -dir.create("../../output/formatted/France", recursive=TRUE,showWarnings=FALSE) +dir.create("output/formatted/France", recursive=TRUE,showWarnings=FALSE) ################################ READ DATA -data.france <- read.csv("../../data/raw/France/dataIFN.FRANCE.csv", stringsAsFactors = FALSE) +data.france <- read.csv("data/raw/France/dataIFN.FRANCE.csv", stringsAsFactors = FALSE) ### read IFN species names and clean -species.clean <- fun.clean.species.tab(read.csv("../../data/raw/France/species.csv", stringsAsFactors = FALSE)) +species.clean <- fun.clean.species.tab(read.csv("data/raw/France/species.csv", stringsAsFactors = FALSE)) ######## MASSAGE TRAIT DATA Compute maximum height per species plus sd from observed ######## height to add variables to the traits data base Because we have two heights, @@ -20,7 +20,7 @@ res.quant.boot <- t(sapply(levels(factor(data.france[["espar"]])), FUN = f.quant data.max.height <- data.frame(sp = rownames(res.quant.boot), Max.height.mean = res.quant.boot[, 1], Max.height.sd = res.quant.boot[, 2], Max.height.nobs = res.quant.boot[, 3]) rm(res.quant.boot) -write.csv(data.max.height,file='../../output/formatted/France/max.height.csv') +write.csv(data.max.height,file='output/formatted/France/max.height.csv') rm(data.max.height) ########################################## FORMAT INDIVIDUAL TREE DATA change unit and names of variables to be the same @@ -80,4 +80,4 @@ vec.abio.var.names <- c("MAT", "SAP", "sgdd", "WB.s", "WB.y", "WS.s", "WS.y") vec.basic.var <- c("obs.id","tree.id", "sp","sp.name", "cluster", "plot", "ecocode", "D", "G", "dead", "year", "htot", "Lon", "Lat", "perc.dead", "weights","census") data.tree <- subset(data.france, select = c(vec.basic.var, vec.abio.var.names)) -write.csv(data.tree,file="../../output/formatted/France/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/France/tree.csv",row.names = FALSE) diff --git a/R/format.data/Fushan.R b/R/format.data/Fushan.R index cc35b689143a57d345bf6282da77f3c4aa40ea1a..b2cd1ac7e0f4879359ee5cc8cf7c7d9dc8546718 100644 --- a/R/format.data/Fushan.R +++ b/R/format.data/Fushan.R @@ -3,15 +3,15 @@ ### MERGE Fushan DATA rm(list = ls()) library(reshape, quietly=TRUE) -source("format.fun.R") -dir.create("../../output/formatted/Fushan", recursive=TRUE,showWarnings=FALSE) +source("R/format.data/format.fun.R") +dir.create("output/formatted/Fushan", recursive=TRUE,showWarnings=FALSE) ######################### READ DATA read individuals tree data -load("../../data/raw/Fushan/fushan.rdata") +load("data/raw/Fushan/fushan.rdata") data.fushan <- data.frame(fushan) rm(fushan) ### read species names -species.clean <- read.csv("../../data/raw/Fushan/Splist_Fushan_En.csv", stringsAsFactors = FALSE) +species.clean <- read.csv("data/raw/Fushan/Splist_Fushan_En.csv", stringsAsFactors = FALSE) ########################################## FORMAT INDIVIDUAL TREE DATA @@ -45,7 +45,7 @@ data.fushan <- subset(data.fushan,subset=data.fushan$status1!="P") vec.basic.var <- c("obs.id","tree.id", "sp", "sp.name","plot", "subplot", "D", "G", "dead", "year", "htot", "x", "y", "census") data.tree <- subset(data.fushan, select = c(vec.basic.var)) -write.csv(data.tree,file="../../output/formatted/Fushan/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/Fushan/tree.csv",row.names = FALSE) diff --git a/R/format.data/Makefile b/R/format.data/Makefile deleted file mode 100644 index 487cc9ec96d61e0bc30c7c84f1abb0345ea2af5b..0000000000000000000000000000000000000000 --- a/R/format.data/Makefile +++ /dev/null @@ -1,118 +0,0 @@ -ROOT := ../.. -D1 := $(ROOT)/data/raw -D2 := $(ROOT)/output/formatted - -all: TRY Canada France NVS Spain Sweden Swiss US - # BCI Fushan NSW Paracou - -TRY: $(D2)/TRY/data.TRY.std.rds - -$(D2)/TRY/data.TRY.std.rds: TRY.R - Rscript TRY.R - -BCI: $(D2)/BCI/traits.csv - -$(D2)/BCI/traits.csv: $(D2)/BCI/tree.csv ../find.trait/BCI.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/BCI.R - -$(D2)/BCI/tree.csv: $(shell find $(D1)/BCI -type f) BCI.R - Rscript BCI.R - -Canada: $(D2)/Canada/traits.csv - -$(D2)/Canada/traits.csv: $(D2)/Canada/tree.csv ../find.trait/Canada.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/Canada.R - -$(D2)/Canada/tree.csv: $(shell find $(D1)/Canada -type f) Canada.R - Rscript Canada.R - -France: $(D2)/France/traits.csv - -$(D2)/France/traits.csv: $(D2)/France/tree.csv ../find.trait/France.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/France.R - -$(D2)/France/tree.csv: $(shell find $(D1)/France -type f) France.R - Rscript France.R - -Fushan: $(D2)/Fushan/traits.csv - -$(D2)/Fushan/traits.csv: $(D2)/Fushan/tree.csv ../find.trait/Fushan.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/Fushan.R - -$(D2)/Fushan/tree.csv: $(shell find $(D1)/Fushan -type f) Fushan.R - Rscript Fushan.R - -NSW: $(D2)/NSW/traits.csv - -$(D2)/NSW/traits.csv: $(D2)/NSW/tree.csv ../find.trait/NSW.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/NSW.R - -$(D2)/NSW/tree.csv: $(shell find $(D1)/NSW -type f) NSW.R - Rscript NSW.R - -NVS: $(D2)/NVS/traits.csv - -$(D2)/NVS/traits.csv: $(D2)/NVS/tree.csv ../find.trait/NVS.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/NVS.R - -$(D2)/NVS/tree.csv: $(shell find $(D1)/NVS -type f) NVS.R - Rscript NVS.R - -Paracou: $(D2)/Paracou/traits.csv - -$(D2)/Paracou/traits.csv: $(D2)/Paracou/tree.csv ../find.trait/Paracou.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/Paracou.R - -$(D2)/Paracou/tree.csv: $(shell find $(D1)/Paracou -type f) Paracou.R - Rscript Paracou.R - -Spain: $(D2)/Spain/traits.csv - -$(D2)/Spain/traits.csv: $(D2)/Spain/tree.csv ../find.trait/Spain.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/Spain.R - -$(D2)/Spain/tree.csv: $(shell find $(D1)/Spain -type f) Spain.R - Rscript Spain.R - -Sweden: $(D2)/Sweden/traits.csv - -$(D2)/Sweden/traits.csv: $(D2)/Sweden/tree.csv ../find.trait/Sweden.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/Sweden.R - -$(D2)/Sweden/tree.csv: $(shell find $(D1)/Sweden -type f) Sweden.R - Rscript Sweden.R - -Swiss: $(D2)/Swiss/traits.csv - -$(D2)/Swiss/traits.csv: $(D2)/Swiss/tree.csv ../find.trait/Swiss.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/Swiss.R - -$(D2)/Swiss/tree.csv: $(shell find $(D1)/Swiss -type f) Swiss.R - Rscript Swiss.R - -US: $(D2)/US/traits.csv - -$(D2)/US/traits.csv: $(D2)/US/tree.csv ../find.trait/US.R $(D2)/TRY/data.TRY.std.rds - Rscript ../find.trait/US.R - -$(D2)/US/tree.csv: $(shell find $(D1)/US -type f) US.R - Rscript US.R - - - -# This susbtitution rule should work as rule, but not, why not? -# $(ROOT)/output/formatted/%/tree.csv: $(D1)/%/* %.R -# Rscript %.R - -# Is based on this which does work -# %-tree.csv: %/* %/*/* %.R -# Rscript $*.R - -# code to generate makefile contents -# s = dir("../../data/metadata/sites") -# cat((sprintf("%s: ../../output/formatted/%s/traits.csv\n -# ../../output/formatted/%s/traits.csv: ../../output/formatted/%s/tree.csv ../find.trait/%s.R -# \tRscript ../find.trait/%s.R\n -# ../../output/formatted/%s/tree.csv: $(shell find ../../data/raw/%s -type f) %s.R -# \tRscript %s.R\n\n",s,s,s,s,s,s,s,s,s,s,s)), file="temp.txt") - diff --git a/R/format.data/NSW.R b/R/format.data/NSW.R index 088f2b5ef1a3a2e28f4fb9e83f98d46e6a62da7b..02d68ad6eabbcec32a9bf40a9e923b4ef65d96e0 100644 --- a/R/format.data/NSW.R +++ b/R/format.data/NSW.R @@ -2,22 +2,22 @@ ### MERGE NSW DATA rm(list = ls()) -source("format.fun.R") -dir.create("../../output/formatted/NSW", recursive=TRUE,showWarnings=FALSE) +source("R/format.data/format.fun.R") +dir.create("output/formatted/NSW", recursive=TRUE,showWarnings=FALSE) library(reshape) ######################### READ DATA read individuals tree data -data.nswbrc <- read.csv("../../data/raw/NSW/NSW_data_BRcontrols.csv", header = TRUE, +data.nswbrc <- read.csv("data/raw/NSW/NSW_data_BRcontrols.csv", header = TRUE, stringsAsFactors = FALSE) data.nswbrc$Date.of.measure <- as.vector(sapply(data.nswbrc$Date.of.measure, function(x) { unlist(strsplit(x, "/"))[3] })) ## Extract the years only -data.nswbrt <- read.csv("../../data/raw/NSW/NSW_data_BRtreatments.csv", header = TRUE, +data.nswbrt <- read.csv("data/raw/NSW/NSW_data_BRtreatments.csv", header = TRUE, stringsAsFactors = FALSE) data.nswbrt$Date.of.measure <- as.vector(sapply(data.nswbrt$Date.of.measure, function(x) { unlist(strsplit(x, "/"))[3] })) ## Extract the years only -data.nswbs1 <- read.csv("../../data/raw/NSW/NSW_data_BS1.csv", header = TRUE, stringsAsFactors = FALSE) +data.nswbs1 <- read.csv("data/raw/NSW/NSW_data_BS1.csv", header = TRUE, stringsAsFactors = FALSE) data.nswbs1$Date.of.measure <- as.character(format(as.Date(data.nswbs1$Date.of.measure, format = "%d-%b-%y"), format = "%d/%b/%Y")) data.nswbs1$Date.of.measure <- as.vector(sapply(data.nswbs1$Date.of.measure, function(x) { @@ -25,7 +25,7 @@ data.nswbs1$Date.of.measure <- as.vector(sapply(data.nswbs1$Date.of.measure, fun })) ## Extract the years only ## data.nswbs2 has a different format to the other datasets, so format to match ## the above -data.nswbs2 <- read.csv("../../data/raw/NSW/NSW_data_BS2.csv", header = TRUE, stringsAsFactors = FALSE) +data.nswbs2 <- read.csv("data/raw/NSW/NSW_data_BS2.csv", header = TRUE, stringsAsFactors = FALSE) data.nswbs2$Plot <- apply(data.nswbs2[, 1:2], 1, paste, collapse = "") data.nswbs2$Subplot <- NULL data.nswbs2$Family <- NULL @@ -37,7 +37,7 @@ data.nswbs22$Dbh <- c(rbind(data.nswbs2[["DBH.cm..1988."]], data.nswbs2[["DBH.cm data.nswbs22[["DBH.cm..1988."]] <- data.nswbs22[["DBH.cm..2000."]] <- NULL data.nswbs2 <- data.nswbs22[, c(1:5, 8:9, 7, 6)] rm(data.nswbs22) -data.nswtnd <- read.csv("../../data/raw/NSW/NSW_data_TND.csv", header = TRUE, stringsAsFactors = FALSE) +data.nswtnd <- read.csv("data/raw/NSW/NSW_data_TND.csv", header = TRUE, stringsAsFactors = FALSE) data.nswtnd$Date.of.measure <- as.character(format(as.Date(data.nswtnd$Date.of.measure, format = "%d-%b-%y"), format = "%d/%b/%Y")) data.nswtnd$Date.of.measure <- as.vector(sapply(data.nswtnd$Date.of.measure, function(x) { @@ -45,7 +45,7 @@ data.nswtnd$Date.of.measure <- as.vector(sapply(data.nswtnd$Date.of.measure, fun })) ## Extract the years only data.nsw <- rbind(data.nswbrc, data.nswbrt, data.nswbs1, data.nswbs2, data.nswtnd) ###################################### MASSAGE TRAIT DATA -data.trait <- read.csv("../../data/raw/NSW/NSW_traits.csv", header = TRUE, stringsAsFactors = FALSE) +data.trait <- read.csv("data/raw/NSW/NSW_traits.csv", header = TRUE, stringsAsFactors = FALSE) data.trait$sp <- data.trait[["Species.all"]]; data.trait[["Species.all"]] <- NULL ## There is not sp.code in data.nsw; using spp name as code data.trait$Latin_name <- data.trait$sp data.trait$Leaf.N.mean <- NA @@ -118,7 +118,7 @@ data.nsw <- merge(data.nsw, data.frame(plot = names(perc.dead), perc.dead = perc vec.basic.var <- c("obs.id","tree.id", "sp", "sp.name","plot", "subplot", "D", "G", "dead", "year", "htot", "x", "y", "census") data.tree <- subset(data.nsw, select = c(vec.basic.var)) -write.csv(data.tree,file="../../output/formatted/NSW/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/NSW/tree.csv",row.names = FALSE) ## ############################################## COMPUTE MATRIX OF COMPETITION INDEX WITH SUM OF BA PER SPECIES IN EACH PLOT in @@ -161,4 +161,4 @@ write.csv(data.tree,file="../../output/formatted/NSW/tree.csv",row.names = FALSE ## # dev.off() ## ## save everything as a list ## list.nsw <- list(data.tree = data.nsw, data.BA.SP = data.BA.sp, data.traits = data.traits) -## save(list.nsw, file = "../../output/formatted/NSW/list.nsw.Rdata") +## save(list.nsw, file = "output/formatted/NSW/list.nsw.Rdata") diff --git a/R/format.data/NVS.R b/R/format.data/NVS.R index 8689f9fe302ccc4ceb5390188ac086e53ac8c579..7f09974b0c92b2490375e03c058c5f3e0c0bee63 100644 --- a/R/format.data/NVS.R +++ b/R/format.data/NVS.R @@ -2,17 +2,17 @@ ### MERGE NVS DATA rm(list = ls()) -source("format.fun.R",quietly=TRUE) +source("R/format.data/format.fun.R") library(reshape) -dir.create("../../output/formatted/NVS", recursive=TRUE,showWarnings=FALSE) +dir.create("output/formatted/NVS", recursive=TRUE,showWarnings=FALSE) ######################### READ DATA read individuals tree and environmental data -data.nz <- read.csv("../../data/raw/NVS/nz_treedata_growth_130801.csv", header = TRUE, +data.nz <- read.csv("data/raw/NVS/nz_treedata_growth_130801.csv", header = TRUE, stringsAsFactors = FALSE, skip = 9) data.nz <- data.nz[, -1] data.nz$plid <- gsub("__", "_", data.nz$plid) data.nz$plid <- gsub("_", ".", data.nz$plid) ## Replace all underscores with a single dot -data.plot <- read.csv("../../data/raw/NVS/nz_plotinfo_130801.csv", , header = TRUE, +data.plot <- read.csv("data/raw/NVS/nz_plotinfo_130801.csv", , header = TRUE, stringsAsFactors = FALSE) data.plot <- data.plot[, -1] data.plot$plid <- gsub("__", "_", data.plot$plid) @@ -87,4 +87,4 @@ vec.abio.var.names <- c("MAT", "MAP") vec.basic.var <- c("obs.id","tree.id", "sp", "sp.name","cluster","plot", "ecocode", "D", "G", "dead", "year", "htot", "Lon", "Lat", "perc.dead","weights","census") data.tree <- subset(data.nz, select = c(vec.basic.var, vec.abio.var.names)) -write.csv(data.tree,file="../../output/formatted/NVS/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/NVS/tree.csv",row.names = FALSE) diff --git a/R/format.data/Paracou.R b/R/format.data/Paracou.R index 10dbc28d3ecea6e227fd512a5f939f67a066e9b5..60457745124cb6b3e24afe1798caa7451beb8d66 100644 --- a/R/format.data/Paracou.R +++ b/R/format.data/Paracou.R @@ -3,12 +3,12 @@ ### MERGE paracou DATA rm(list = ls()) -source("format.fun.R") -dir.create("../../output/formatted/Paracou", recursive=TRUE,showWarnings=FALSE) +source("R/format.data/format.fun.R") +dir.create("output/formatted/Paracou", recursive=TRUE,showWarnings=FALSE) library(reshape,quietly=TRUE) ############################ read individuals tree data -data.paracou <- read.table("../../data/raw/Paracou/20130717_paracou_1984_2012.csv", +data.paracou <- read.table("data/raw/Paracou/20130717_paracou_1984_2012.csv", header=TRUE,stringsAsFactors=FALSE,sep = ";", na.strings = "NULL") #barplot(apply(!is.na(data.paracou[,paste("circ_",1984:2012,sep="")]),MARGIN=2,FUN=sum),las=3) # select good columns @@ -28,7 +28,7 @@ data.paracou$tree.id <- apply(data.paracou[,c("plot","subplot","tree")],1,paste, data.paracou$sp <- data.paracou[["taxonid"]] data.paracou <- data.paracou[,c(ncol(data.paracou),1:(ncol(data.paracou)-1))] ## plot each plot -## pdf("../../figs/plots.paracou.pdf") +## pdf("output/figs/plots.paracou.pdf") ## lapply(unique(data.paracou[["plot"]]),FUN=fun.circles.plot,data.paracou[['x']],data.paracou[['y']],data.paracou[["plot"]],data.paracou[["circum2009"]],inches=0.2,fg.l=data.paracou$subplot) ## dev.off() ## # @@ -42,7 +42,7 @@ data.paracou <- subset(data.paracou,subset=!(as.numeric(data.paracou[["yeardied" ######################################## MASSAGE TRAIT DATA ### read species names -species.clean <- read.csv("../../data/raw/Paracou/20130717_paracou_taxonomie.csv",stringsAsFactors=FALSE, header = T, sep = ";") +species.clean <- read.csv("data/raw/Paracou/20130717_paracou_taxonomie.csv",stringsAsFactors=FALSE, header = T, sep = ";") species.clean$sp <- species.clean[["idTaxon"]] species.clean$Latin_name <- paste(species.clean[["Genre"]],species.clean[["Espece"]],sep=" ") ## keep only one row pers idTaxon @@ -95,7 +95,7 @@ data.paracou$sp.name <- data.paracou$Latin_name vec.basic.var <- c("obs.id","tree.id", "sp", "sp.name","plot", "subplot", "D", "G", "dead", "year", "htot", "x", "y", "census") data.tree <- subset(data.paracou, select = c(vec.basic.var)) -write.csv(data.tree,file="../../output/formatted/Paracou/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/Paracou/tree.csv",row.names = FALSE) ## ###### @@ -103,18 +103,18 @@ write.csv(data.tree,file="../../output/formatted/Paracou/tree.csv",row.names = F ## ########### ## ### TRAITS MASSAGE -## dataWD <- read.csv("../../data/raw/Paracou/WD-Species-Paracou-Ervan_GV.csv",stringsAsFactors=FALSE, header = T,sep=" ") +## dataWD <- read.csv("data/raw/Paracou/WD-Species-Paracou-Ervan_GV.csv",stringsAsFactors=FALSE, header = T,sep=" ") ## #dataWD <- merge(dataWD, species.clean, by = "idCIRAD", sort = F) ## length(unique(species.clean$idCIRAD)) != dim(species.clean) ## ## dataWD uses idCIRAD as identifier, but this is not a unique identifier in species.clean! ## ## But wood density seems to also be available from seed.traits ## ### need to read the different traits data based and merge ..... -## bridge <- read.csv("../../data/raw/Paracou/BridgeDATA.g.csv",stringsAsFactors=FALSE, header = T, sep = ";") +## bridge <- read.csv("data/raw/Paracou/BridgeDATA.g.csv",stringsAsFactors=FALSE, header = T, sep = ";") ## bridge$Latin_name <- paste(bridge[["Genus"]],bridge[["species"]],sep=" ") ## ### check % of match of the bridg data ## sum(species.clean[["Latin_name"]] %in% bridge[["Latin_name"]])/length(species.clean[["Latin_name"]]) ## ## only 307 species /775 are in teh traits data .... -## seed.traits <- read.csv("../../data/raw/Paracou/Autour-de-Paracou-Releves-par-trait-et-taxon.txt",stringsAsFactors=FALSE, header = T, sep = "\t") +## seed.traits <- read.csv("data/raw/Paracou/Autour-de-Paracou-Releves-par-trait-et-taxon.txt",stringsAsFactors=FALSE, header = T, sep = "\t") ## ## Reformat seed.traits to one row per species, with each trait as a column ## spp.means <- (cast(seed.traits, LIB_TAXON ~ METHO_LIB, value = "MEASURE", fun = mean)) ## colnames(spp.means)[-1] <- paste(colnames(spp.means)[-1],".mean",sep="") diff --git a/R/format.data/Spain.R b/R/format.data/Spain.R index 81405867b2ec7583b7c5f4da5545577b1e7fbfc5..dde866f9045d1342cfdff1bed4f11f372355e3d1 100644 --- a/R/format.data/Spain.R +++ b/R/format.data/Spain.R @@ -2,13 +2,13 @@ ### MERGE spain DATA Edited by FH rm(list = ls()) -source("format.fun.R") +source("R/format.data/format.fun.R") library(reshape) -dir.create("../../output/formatted/Spain", recursive=TRUE,showWarnings=FALSE) +dir.create("output/formatted/Spain", recursive=TRUE,showWarnings=FALSE) ######################### READ DATA read individuals tree data -data.spain <- read.table("../../data/raw/Spain/Tree_data_SFI_aug13_alldata.txt", +data.spain <- read.table("data/raw/Spain/Tree_data_SFI_aug13_alldata.txt", header = TRUE, stringsAsFactors = FALSE, sep = "\t") ###################################### MASSAGE TRAIT DATA Compute maximum height per species plus sd from observed @@ -21,7 +21,7 @@ res.quant.boot <- t(sapply(levels(factor(data.spain[["SP_code"]])), FUN = f.quan data.max.height <- data.frame(sp = rownames(res.quant.boot), Max.height.mean = res.quant.boot[, 1], Max.height.sd = res.quant.boot[, 2], Max.height.nobs = res.quant.boot[, 3], stringsAsFactors =FALSE) rm(res.quant.boot) -write.csv(data.max.height, file = "../../output/formatted/Spain/max.height.csv") ## I was planning to save processed data in that folder +write.csv(data.max.height, file = "output/formatted/Spain/max.height.csv") ## I was planning to save processed data in that folder ################################## FORMAT INDIVIDUAL TREE DATA data.spain$G <- data.spain[["adbh"]] ## diameter growth in mm per year @@ -57,7 +57,7 @@ data.spain$Lat <- coordinates(data.sp2)[, "CY"] ## points(data.sp2,cex=0.2,col='red') rm(data.sp, data.sp2) ###################### ECOREGION merge greco to have no ecoregion with low number of observation -greco <- read.csv(file = "../../data/raw/Spain/R_Ecoregion.csv", header = T) +greco <- read.csv(file = "data/raw/Spain/R_Ecoregion.csv", header = T) greco <- greco[, c("Plot_ID_SFI", "BIOME", "eco_code")] greco2 <- greco[!duplicated(greco$Plot), ]; colnames(greco2) <- c("plot", "biome", "ecocode") @@ -113,4 +113,4 @@ vec.abio.var.names <- c("MAT", "PP", "PET") vec.basic.var <- c("obs.id","tree.id", "sp", "sp.name", "cluster","plot", "ecocode", "D", "G", "dead", "year", "htot", "Lon", "Lat", "perc.dead","census","weights") data.tree <- subset(data.spain, select = c(vec.basic.var, vec.abio.var.names)) -write.csv(data.tree,file="../../output/formatted/Spain/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/Spain/tree.csv",row.names = FALSE) diff --git a/R/format.data/Sweden.R b/R/format.data/Sweden.R index 8dbba5778791d45807f96df2e2979d3112434845..e600328aa08a04c08c707dda7cca4010019d826a 100644 --- a/R/format.data/Sweden.R +++ b/R/format.data/Sweden.R @@ -2,12 +2,12 @@ ### MERGE sweden DATA rm(list = ls()); -source("format.fun.R"); +source("R/format.data/format.fun.R"); library(reshape); -dir.create("../../output/formatted/Sweden", recursive=TRUE,showWarnings=FALSE) +dir.create("output/formatted/Sweden", recursive=TRUE,showWarnings=FALSE) ######################### READ DATA read individuals tree data -data.swe <- read.table("../../data/raw/Sweden/Swe_NFI_all.txt",header=T,stringsAsFactors=F,sep="\t") +data.swe <- read.table("data/raw/Sweden/Swe_NFI_all.txt",header=T,stringsAsFactors=F,sep="\t") #head(data.swe) data.swe$tree.id <- apply(cbind(data.swe[["Year"]],data.swe[["TractNr"]],data.swe[["PlotNr"]],data.swe[["TreeNr"]]),1,paste,collapse="_") data.swe$plot <- apply(cbind(data.swe[["Year"]],data.swe[["TractNr"]],data.swe[["PlotNr"]]),1,paste,collapse="_") @@ -49,7 +49,7 @@ res.quant.boot <- t(sapply(levels(factor(data.swe[["sp"]])), FUN = f.quantile.bo data.max.height <- data.frame(code = rownames(res.quant.boot), Max.height.mean = res.quant.boot[, 1], Max.height.sd = res.quant.boot[, 2], Max.height.nobs = res.quant.boot[, 3], stringsAsFactors =FALSE) rm(res.quant.boot) -write.csv(data.max.height,file='../../output/formatted/Sweden/max.height.csv') ### GEORGES NOT SURE WE SHOULD USE THAT +write.csv(data.max.height,file='output/formatted/Sweden/max.height.csv') ### GEORGES NOT SURE WE SHOULD USE THAT ################# ##### change the projection of xy to wgs84 lat long. @@ -86,7 +86,7 @@ dim(data.swe) data.swe$cluster <- rep(NA, nrow(data.swe)) ## no plot cluster ## load species latin name -species.clean <- read.csv("../../data/raw/Sweden/species.list.csv",header=T,stringsAsFactors=F,sep=",") +species.clean <- read.csv("data/raw/Sweden/species.list.csv",header=T,stringsAsFactors=F,sep=",") data.swe$sp.name <- species.clean[match(data.swe$sp,species.clean$sp),"Latin_name"] ## GET LATIN NAME data.swe$Year <- NULL; @@ -124,4 +124,4 @@ data.swe <- merge(data.swe,data.frame(plot=names(perc.dead),perc.dead=perc.dead) vec.basic.var <- c("obs.id","tree.id", "sp", "sp.name","cluster","plot", "ecocode", "D", "G", "dead", "year", "htot", "Lon", "Lat", "perc.dead","weights","census") data.tree <- subset(data.swe, select = c(vec.basic.var)) -write.csv(data.tree,file="../../output/formatted/Sweden/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/Sweden/tree.csv",row.names = FALSE) diff --git a/R/format.data/Swiss.R b/R/format.data/Swiss.R index fadaefb556495769f7f9bf3c61bd6b2faedcb6a0..95687c2e506f396efb6055038fc8b47e70bdb1f2 100644 --- a/R/format.data/Swiss.R +++ b/R/format.data/Swiss.R @@ -2,15 +2,15 @@ ### MERGE Swiss DATA rm(list = ls()) -source("format.fun.R") +source("R/format.data/format.fun.R") library(reshape) library(foreign) -dir.create("../../output/formatted/Swiss", recursive=TRUE,showWarnings=FALSE) +dir.create("output/formatted/Swiss", recursive=TRUE,showWarnings=FALSE) ######################### READ DATA read individuals tree data -data.swiss1 <- read.csv("../../data/raw/Swiss/LFI12.csv", header = TRUE, stringsAsFactors = FALSE) -data.swiss2 <- read.csv("../../data/raw/Swiss/LFI23.csv", header = TRUE, stringsAsFactors = FALSE) -data.swiss3 <- read.csv("../../data/raw/Swiss/LFI34.csv", header = TRUE, stringsAsFactors = FALSE) +data.swiss1 <- read.csv("data/raw/Swiss/LFI12.csv", header = TRUE, stringsAsFactors = FALSE) +data.swiss2 <- read.csv("data/raw/Swiss/LFI23.csv", header = TRUE, stringsAsFactors = FALSE) +data.swiss3 <- read.csv("data/raw/Swiss/LFI34.csv", header = TRUE, stringsAsFactors = FALSE) data.swiss <- rbind(data.swiss1, data.swiss2, data.swiss3) rm(data.swiss1, data.swiss2, data.swiss3) data.swiss <- data.swiss[order(data.swiss$BANR), ] @@ -32,7 +32,7 @@ coordinates(data.sp) <- c("x", "y") # define x y proj4string(data.sp) <- CRS("+init=epsg:21781") # define projection system of our data ## EPSG:21781 CH1903 / LV03 CHECK WITH NICK STRANGE summary(data.sp) library(maptools) -bioregion <- readShapePoly("../../data/raw/Swiss/bio_regions/biogregions.shp") +bioregion <- readShapePoly("data/raw/Swiss/bio_regions/biogregions.shp") ## plot(bioregion) ## plot(data.sp,add=TRUE) ## test <- over(data.sp,bioregion) ## need to check proj with nick @@ -62,7 +62,7 @@ res.quant.boot <- (t(sapply(levels(factor(data.swiss2[["sp"]])), FUN = f.quantil data.max.height <- data.frame(code = rownames(res.quant.boot), Max.height.mean = res.quant.boot[, 1], Max.height.sd = res.quant.boot[, 2], Max.height.nobs = res.quant.boot[, 3], stringsAsFactors =FALSE) rm(res.quant.boot) -write.csv(data.max.height,file='../../output/formatted/Swiss/max.height.csv') +write.csv(data.max.height,file='output/formatted/Swiss/max.height.csv') ########################################## FORMAT INDIVIDUAL TREE DATA data.swiss$G <- 10 * (data.swiss$dbh_diff)/data.swiss$year ## diameter growth in mm per year @@ -84,7 +84,7 @@ perc.dead <- tapply(data.swiss[["dead"]], INDEX = data.swiss[["plot"]], FUN = fu data.swiss <- merge(data.swiss, data.frame(plot = names(perc.dead), perc.dead = perc.dead, stringsAsFactors =FALSE), by = "plot", sort = FALSE) ########################################################### PLOT SELECTION FOR THE ANALYSIS -data.climate <- read.dbf(file = "../../data/raw/Swiss/LFI14_climate.dbf") +data.climate <- read.dbf(file = "data/raw/Swiss/LFI14_climate.dbf") data.climate <- data.climate[, c("CLNR","swb_100","tave_68","prec_122","prec_35","prec_68","prec_911")] data.climate$MAP <- apply(data.climate[, c("prec_122","prec_35","prec_68","prec_911")], 1, sum) data.swiss <- merge(data.swiss, data.frame(plot = data.climate$CLNR, swb = data.climate$swb_100, @@ -95,5 +95,5 @@ vec.abio.var.names <- c("MAT", "MAP", "swb") vec.basic.var <- c("obs.id","tree.id", "sp","sp.name", "cluster", "plot", "ecocode", "D", "G", "dead", "year", "htot", "Lon", "Lat", "perc.dead", "weights","census") data.tree <- subset(data.swiss, select = c(vec.basic.var, vec.abio.var.names)) -write.csv(data.tree,file="../../output/formatted/Swiss/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/Swiss/tree.csv",row.names = FALSE) warnings() diff --git a/R/format.data/TRY.R b/R/format.data/TRY.R index 7a995ae1a4d2af923554a0cdf182824783c10643..f47d39bcf40fbb0b2598cd5d6e17a2a67eadb23e 100644 --- a/R/format.data/TRY.R +++ b/R/format.data/TRY.R @@ -5,16 +5,16 @@ ################ use AccSpeciesName because not author name -source("../format.data/try.fun.R") +source("R/format.data/try.fun.R") -out.dir <- "../../output/formatted/TRY" +out.dir <- "output/formatted/TRY" dir.create(out.dir, recursive=TRUE,showWarnings=FALSE) ## read TRY data -TRY.DATA <- read.table("../../data/raw/TRY/TRY_Proposal_177_DataRelease_2013_04_01.txt", +TRY.DATA <- read.table("data/raw/TRY/TRY_Proposal_177_DataRelease_2013_04_01.txt", sep = "\t", header = TRUE, na.strings = "", stringsAsFactors = FALSE) -TRY.DATA2 <- read.table("../../data/raw/TRY/TRY_Proposal_177_DataRelease_2013_07_23.txt", +TRY.DATA2 <- read.table("data/raw/TRY/TRY_Proposal_177_DataRelease_2013_07_23.txt", sep = "\t", header = TRUE, na.strings = "", stringsAsFactors = FALSE) ### combine both data set diff --git a/R/format.data/US.R b/R/format.data/US.R index d17b2c8d2d8aabae50e601b139adffab9c67739e..69d301709306636bb43a7a9bd156589bab677933 100644 --- a/R/format.data/US.R +++ b/R/format.data/US.R @@ -2,12 +2,12 @@ ### MERGE us DATA Edited by FH library(reshape, quietly=TRUE) -source("format.fun.R") -dir.create("../../output/formatted/US", recursive=TRUE,showWarnings=FALSE) +source("R/format.data/format.fun.R") +dir.create("output/formatted/US", recursive=TRUE,showWarnings=FALSE) ### read species names -species.clean <- read.csv("../../data/raw/US/REF_SPECIES.CSV", stringsAsFactors = FALSE) +species.clean <- read.csv("data/raw/US/REF_SPECIES.CSV", stringsAsFactors = FALSE) ## select column to keep species.clean <- subset(species.clean, select = c("SPCD", "GENUS", "SPECIES", "VARIETY", "SUBSPECIES", "SPECIES_SYMBOL")) @@ -20,13 +20,13 @@ species.clean[["sp"]] <- paste("sp", species.clean[["sp"]], sep = ".") ## LOAD QUANTILE OF HEIGHT AND FORMAT AS OTHER -data.max.height <- read.csv("../../data/raw/US/FiaSpMaxHt.csv", stringsAsFactors = FALSE) +data.max.height <- read.csv("data/raw/US/FiaSpMaxHt.csv", stringsAsFactors = FALSE) data.max.height <- data.frame(sp=data.max.height$SpCd,Max.height.mean=data.max.height$Ht99, Max.height.sd=rep(NA,nrow(data.max.height)), Max.height.nobs=rep(NA,nrow(data.max.height))) -write.csv(data.max.height, file = "../../output/formatted/US/max.height.csv") ## I was planning to save processed data in that folder +write.csv(data.max.height, file = "output/formatted/US/max.height.csv") ## I was planning to save processed data in that folder #### READ DATA US -data.us <- read.csv("../../data/raw/US/FIA51_trees_w_supp.csv",header=TRUE,stringsAsFactors =FALSE) +data.us <- read.csv("data/raw/US/FIA51_trees_w_supp.csv",header=TRUE,stringsAsFactors =FALSE) ############## MASSAGE TRAIT DATA HEIGHT DATA FOR TREE MISSING BRING US DATA FOR HEIGHT OVER ############## WHEN WE ANALYZE THAT DATASET LATER ON ############## FORMAT INDIVIDUAL TREE DATA @@ -52,7 +52,7 @@ data.us$census <- rep(1,nrow(data.us)) ### add plot weights for computation of competition index (in 1/m^2) data.us$weights <- 1/(10000 * data.us[["PlotSize"]]) ###################### ECOREGION merge greco to have no ecoregion with low number of observation -greco <- read.csv(file = "../../data/raw/US/EcoregionCodes.csv", header = T) +greco <- read.csv(file = "data/raw/US/EcoregionCodes.csv", header = T) colnames(greco)[1] <- "Ecocode" table(data.us$Ecocode) data.us <- merge(data.us, greco[, -4], by = "Ecocode") @@ -99,6 +99,6 @@ vec.abio.var.names <- c("MAT", "MAP") vec.basic.var <- c("obs.id","tree.id", "sp","sp.name", "cluster", "plot", "ecocode", "D", "G", "dead", "year", "htot", "Lon", "Lat", "perc.dead", "weights","census") data.tree <- subset(data.us, select = c(vec.basic.var, vec.abio.var.names)) -write.csv(data.tree,file="../../output/formatted/US/tree.csv",row.names = FALSE) +write.csv(data.tree,file="output/formatted/US/tree.csv",row.names = FALSE) rm(data.us) gc() diff --git a/R/format.data/format.fun.R b/R/format.data/format.fun.R index f8ade56a6df158054dfda84343080493e4301c80..f77429eb64f35c2a544b43b54f892dc7bc861a01 100644 --- a/R/format.data/format.fun.R +++ b/R/format.data/format.fun.R @@ -4,7 +4,7 @@ ################################################### ##### FUNCTION TO FORMAT DATA FOR THE WORKSHOP #### G. Kunstler 11/09/2013 -source("../packages.R") +source("R/packages.R") check_packages(c("reshape", "boot","RColorBrewer","sp","dismo","rgdal","foreign","rworldmap")) ############################ diff --git a/R/format.data/try.fun.R b/R/format.data/try.fun.R index e9a87a75f74b4ce388eb431ce31fa62199d168a7..adf17911bfe116318cacffcf5118c9c807f18ba2 100644 --- a/R/format.data/try.fun.R +++ b/R/format.data/try.fun.R @@ -2,7 +2,7 @@ ############################################ 14/06/2013 ### install all unstallled packages -source("../packages.R") +source("R/packages.R") check_packages(c("MASS", "doParallel","mvoutlier")) diff --git a/R/process.data/BCI.R b/R/process.data/BCI.R index 8ac9389534ddac77192faee8abc0dd2f8f4420ab..7474503130b8b3929303ab60cae5713058fd623d 100644 --- a/R/process.data/BCI.R +++ b/R/process.data/BCI.R @@ -6,14 +6,14 @@ rm(list = ls()) source("process.fun.R") library(reshape) -data.tree <- read.csv("../../output/formatted/BCI/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/BCI/tree.csv", stringsAsFactors = FALSE) data.tree <- subset(data.tree,subset=!is.na(data.tree[["D"]])) data.tree <- subset(data.tree,subset=data.tree[["D"]]>10) ### select only tree below 5cm of dbh to start ### species as factor because number Rlim <- 15 # set size of neighborhood for competition index -data.traits <- read.csv("../../output/formatted/BCI/traits.csv") +data.traits <- read.csv("output/formatted/BCI/traits.csv") ## change sp data.traits$sp <- paste("sp",data.traits$sp,sep=".") diff --git a/R/process.data/France.R b/R/process.data/France.R index e3f90ac53c90af6618bb38e5934446246085f33f..e1ae85f0930199c3cfdc91fc2db384d2cac1f407 100644 --- a/R/process.data/France.R +++ b/R/process.data/France.R @@ -6,13 +6,13 @@ rm(list = ls()) source("process.fun.R") library(reshape) -data.tree <- read.csv("../../output/formatted/France/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/France/tree.csv", stringsAsFactors = FALSE) data.tree <- subset(data.tree,subset=!is.na(data.tree[["D"]])) data.tree <- subset(data.tree,subset=data.tree[["D"]]>5) ### select only tree below 5cm of dbh to start ## change sp -data.traits <- read.csv("../../output/formatted/France/traits.csv") +data.traits <- read.csv("output/formatted/France/traits.csv") data.traits$sp <- paste("sp",data.traits$sp,sep=".") data.tree$sp <- paste("sp",data.tree$sp,sep=".") diff --git a/R/process.data/US.R b/R/process.data/US.R index 7e185dceaf469697e5d40acecc1b543e3d27fb15..f932d21646db2d0b691a7259ad3f697d05b428ce 100644 --- a/R/process.data/US.R +++ b/R/process.data/US.R @@ -6,12 +6,12 @@ rm(list = ls()) source("process.fun.R") library(reshape) -data.tree <- read.csv("../../output/formatted/US/tree.csv", stringsAsFactors = FALSE) +data.tree <- read.csv("output/formatted/US/tree.csv", stringsAsFactors = FALSE) data.tree <- subset(data.tree,subset=!is.na(data.tree[["D"]])) ## change sp -data.traits <- read.csv("../../output/formatted/US/traits.csv") +data.traits <- read.csv("output/formatted/US/traits.csv") data.traits$sp <- paste("sp",data.traits$sp,sep=".") data.tree$sp <- paste("sp",data.tree$sp,sep=".") diff --git a/R/process.data/analysis-fun.R b/R/process.data/analysis-fun.R index ddf4762288d419bc3af170e8ce532077d53c46dd..5116993d4254958020a3fa6b013111b2609447af 100644 --- a/R/process.data/analysis-fun.R +++ b/R/process.data/analysis-fun.R @@ -31,7 +31,7 @@ summarise.data <- function(data.site){ summarise.tree <- function(data.tree){ out <- list() - expected <- read.csv("../../docs/workflow/cols-tree.csv", stringsAsFactors = FALSE) + expected <- read.csv("docs/workflow/cols-tree.csv", stringsAsFactors = FALSE) if(!is.null(data.tree)){ out[["n.species"]] <- length(unique(data.tree[["sp.name"]])) @@ -45,7 +45,7 @@ summarise.tree <- function(data.tree){ summarise.traits <- function(data.traits){ - expected <- read.csv("../../docs/workflow/cols-traits.csv", stringsAsFactors = FALSE) + expected <- read.csv("docs/workflow/cols-traits.csv", stringsAsFactors = FALSE) # filter to mean, numeric var <- expected$var[expected$numeric==1] diff --git a/R/process.data/analysis.R b/R/process.data/analysis.R index ec470ddaed3a520de2136fcb131100dfa0464143..ad760c78f48040124b1ba4d5fb1a92a488db321e 100644 --- a/R/process.data/analysis.R +++ b/R/process.data/analysis.R @@ -1,15 +1,15 @@ #!/usr/bin/env Rscript ############################################# MERGE FRENCH DATA -path.formatted <- "../../output/formatted" -path.processed <- "../../output/processed" +path.formatted <- "output/formatted" +path.processed <- "output/processed" source("analysis-fun.R") ## load all sites data <- load_all_formatted_data(path.formatted) -source("../utils/plot.R") -source("../utils/maps.R") +source("R/utils/plot.R") +source("R/utils/maps.R") # Map for single site # to.dev(world.map(data[["US"]]$tree[["Lon"]], data[["US"]]$tree[["Lat"]], group = NULL, cols = NULL), @@ -19,7 +19,7 @@ source("../utils/maps.R") to.dev(world.map.all.sites(data), png,file=file.path(path.processed, "world_map_all.png"), height =2000, width = 2000) -png("../../figs/world.map.all.png",height=2000,width=2000) +png("output/figs/world.map.all.png",height=2000,width=2000) world.map.all.sites(data,legend.TF=FALSE) BCI <- c(-79.8461,9.1543) Paracou <- c(-52.900002,5.38) diff --git a/R/process.data/process.fun.R b/R/process.data/process.fun.R index 168101a92e141304f5f5cbb1ab5bf22f4b3d9588..7a97cfa17b0f25a1c7ce498701a533363c2b1a04 100644 --- a/R/process.data/process.fun.R +++ b/R/process.data/process.fun.R @@ -3,7 +3,7 @@ #################################################### #### function to process data ### install all unstallled packages -source("../packages.R") +source("R/packages.R") check_packages(c("reshape", "data.table","doParallel")) ######################### @@ -310,7 +310,7 @@ require(data.table) data.tot <- data.table(data.tot) data <- data.tot[ecocode==ecoregion,] print(paste("number of obs in ecoregion",ecoregion," = ",nrow(data))) -dir.create(paste("../../output/processed/",site.name,"/",ecoregion,sep=""), recursive=TRUE,showWarnings=FALSE) +dir.create(paste("output/processed/",site.name,"/",ecoregion,sep=""), recursive=TRUE,showWarnings=FALSE) rm(data.tot) print('start computing competition index') @@ -350,10 +350,10 @@ if(sum(!data.BA.sp[["obs.id"]] == data[["obs.id"]]) >0) stop("competition index if(is.data.frame(data.TRAITS)){ data.TRAITS.s <- subset(data.TRAITS,subset=data.TRAITS[[sp.code]] %in% data[[sp.code2]]) list.temp <- list(data.tree=data,data.BA.SP=data.BA.sp,data.traits=data.TRAITS.s) - saveRDS(list.temp,file=paste("../../output/processed/",site.name,"/",ecoregion,"/list.rds",sep="")) + saveRDS(list.temp,file=paste("output/processed/",site.name,"/",ecoregion,"/list.rds",sep="")) }else{ list.temp <- list(data.tree=data,data.BA.SP=data.BA.sp,data.traits=NA) - saveRDS(list.temp,file=paste("../../output/processed/",site.name,"/",ecoregion,"/list.rds",sep="")) + saveRDS(list.temp,file=paste("output/processed/",site.name,"/",ecoregion,"/list.rds",sep="")) } } @@ -363,7 +363,7 @@ data.TRAITS.s <- subset(data.TRAITS,subset=data.TRAITS[[sp.code]] %in% data[[sp. fun.data.per.bigplot <- function(data,site.name,data.TRAITS=NA,Rlim=15,xy.name,parallel=FALSE,rpuDist=FALSE,sp.code="sp",sp.code2="sp"){ require(data.table) -dir.create(paste("../../output/processed/",site.name,sep=""), recursive=TRUE,showWarnings=FALSE) +dir.create(paste("output/processed/",site.name,sep=""), recursive=TRUE,showWarnings=FALSE) data$sp <- factor(data$sp) data.TRAITS$sp <- factor(data.TRAITS$sp) print(paste("plots :",unique(data[["plot"]]))) @@ -394,9 +394,9 @@ if(sum(!as.character(data.BA.SP[["obs.id"]]) == as.character(data[["obs.id"]])) if(is.data.frame(data.TRAITS)){ data.TRAITS.s <- subset(data.TRAITS,subset=data.TRAITS[[sp.code]] %in% data[[sp.code2]]) list.temp <- list(data.tree=data,data.BA.SP=data.BA.SP,data.traits=data.TRAITS.s) - saveRDS(list.temp,file=paste("../../output/processed/",site.name,"/list.rds",sep="")) + saveRDS(list.temp,file=paste("output/processed/",site.name,"/list.rds",sep="")) }else{ list.temp <- list(data.tree=data,data.BA.SP=data.BA.sp,data.traits=NA) - saveRDS(list.temp,file=paste("../../output/processed/",site.name,"/list.rds",sep="")) + saveRDS(list.temp,file=paste("output/processed/",site.name,"/list.rds",sep="")) } }