diff --git a/merge.data.PARACOU.R b/merge.data.PARACOU.R index e9de763617a6ca12c7c22cf4cdf787c482356f10..79a69050ab6480cc78748e4586c2b3bb25a68a47 100644 --- a/merge.data.PARACOU.R +++ b/merge.data.PARACOU.R @@ -9,24 +9,29 @@ rm(list = ls()); source("./R/format.function.R"); library(reshape) data.paracou <- read.table("./data/raw/DataParacou/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) -data.paracou <- data.paracou[,c(1:8,61:62,73:74,85:86,96:97)] -colnames(data.paracou) <- c("forest","plot","subplot","tree","vernacular","taxonid","x","y","circum2001","dead2001","circum2005","dead2005","circum2009","dead2009","yeardied","typedeath") + + +data.paracou <- data.paracou[,c("foret","parcelle","carre","arbre","vernaculaire","idtaxon", + "x","y","circ_2001","code_2001","circ_2005","code_2005", + "circ_2009","code_2009","campagne_mort","type_mort")] +colnames(data.paracou) <- c("forest","plot","subplot","tree","vernacular","taxonid","x","y","circum2001","code2001","circum2005","code2005","circum2009","code2009","yeardied","typedeath") for(k in 7:14) { data.paracou[,k] <- gsub(",",".",data.paracou[,k]); data.paracou[,k] <- as.numeric(data.paracou[,k]) } ## Replace all , in decimals with . data.paracou$treeid <- apply(data.paracou[,1:4],1,paste,collapse="."); ## Create a tree id data.paracou <- data.paracou[,c(ncol(data.paracou),1:(ncol(data.paracou)-1))] +## keep only tree alive in 2001 +data.paracou <- subset(data.paracou,subset=!(as.numeric(data.paracou[["yeardied"]])<=2001 & !is.na(data.paracou[["yeardied"]]))) + ### read species names species.clean <- read.csv("./data/raw/DataParacou/20130717_paracou_taxonomie.csv",stringsAsFactors=FALSE, header = T, sep = ";") -## Create a species code to try and species.clean and data.paracou - NEED TO CHECK WHETHER SPCODE COMES FROM TAXONID OR VERNACULAR OR BOTH -species.clean$sp <- apply(species.clean[,1:5],1,paste,collapse=".") -data.paracou$sp <- apply(data.paracou[,3:7],1,paste,collapse=".") -data.paracou <- merge(data.paracou, as.data.frame(species.clean[,c(10,13)]), by = "sp", sort = F) -## "Simplify" the species.code to just vernacular and taxonid, which is hopefully sufficient to identify species -species.clean$sp = apply(species.clean[,4:5],1,paste,collapse=".") -data.paracou$sp = apply(data.paracou[,7:8],1,paste,collapse=".") -length(unique(data.paracou$sp)) +## SPECIES CODE COME FROM idTaxon in paracou_taxonomie and taxonid in paracou_1984_2012 to match the traits data we need to use the "Genus species" +## we better work not work with vernacular because this doesn't match necesseraly the Genus species taxonomie + +species.clean$sp <- species.clean[["idTaxon"]] +data.paracou$sp <- data.paracou[["taxonid"]] +## data.paracou <- merge(data.paracou, as.data.frame(species.clean[!duplicated(species.clean[["sp"]]),c("Genre","Espece","sp")]), by = "sp", sort = FALSE) ###################################### ## MASSAGE TRAIT DATA @@ -39,15 +44,23 @@ length(unique(data.paracou$sp)) data.paracou2 <- data.paracou[rep(1:nrow(data.paracou),each=2),c(1:10,(ncol(data.paracou)-2):ncol(data.paracou))] rownames(data.paracou2) <- 1:nrow(data.paracou2); data.paracou2 <- as.data.frame(data.paracou2) data.paracou2$yr1 <- rep(c(2001,2001+4),nrow(data.paracou)); data.paracou2$yr2 <- rep(c(2005,2005+4),nrow(data.paracou)) -data.paracou2$year <- rep(c(5,5),nrow(data.paracou)) +data.paracou2$year <- rep(c(4,4),nrow(data.paracou)) data.paracou2$dbh1 <- c(rbind(data.paracou$circum2001/pi,data.paracou$circum2005/pi)) data.paracou2$dbh2 <- c(rbind(data.paracou$circum2005/pi,data.paracou$circum2009/pi)) -data.paracou2$dead <- c(as.numeric(rbind(data.paracou$dead2005 > 0,data.paracou$dead2009 > 0))) - +data.paracou2$code1 <- c(as.numeric(rbind(data.paracou$code2001,data.paracou$code2005))) +data.paracou2$code2 <- c(as.numeric(rbind(data.paracou$code2005,data.paracou$code2009))) +data.paracou2$dead <- rep(0,nrow(data.paracou)*2) +data.paracou2$dead[c(as.numeric(data.paracou[["yeardied"]]) %in% 2001:2005 & (!is.na(data.paracou[["yeardied"]])), + as.numeric(data.paracou[["yeardied"]]) %in% 2006:2009 & (!is.na(data.paracou[["yeardied"]])))] <- 1 + + data.paracou <- data.paracou2 ## change unit and names of variables to be the same in all data for the tree data.paracou$G <- 10*(data.paracou$dbh2-data.paracou$dbh1)/data.paracou$year ## diameter growth in mm per year +data.paracou$G[data.paracou$code1>0] <- NA +data.paracou$G[data.paracou$code2>0] <- NA + data.paracou[which(data.paracou$G < -50),] ## THERE SEEMS TO BE SOME PROBLEMS WITH THE DBH DATA data.paracou$D <- data.paracou[["dbh1"]]; data.paracou$D[data.paracou$D == 0] <- NA ;## diameter in cm data.paracou$plot <- apply(data.paracou[,c("forest","plot","subplot")],1,paste,collapse=".") ## plot code diff --git a/merge.data.SPAIN.R b/merge.data.SPAIN.R index 83ba083446e9a595118f8603d5eaaeaf4538c6be..2e33f299f15e164a6aba67c15307b633d9438c63 100644 --- a/merge.data.SPAIN.R +++ b/merge.data.SPAIN.R @@ -44,7 +44,7 @@ write.csv(data.max.height,file="./data/process/data.max.height.spain.csv") # I w ## change unit and names of variables to be the same in all data for the tree data.spain$G <- data.spain[["adbh"]] ## diameter growth in mm per year -data.spain$year <- rep(NA,length(data.spain[["adbh"]])) ## number of year between measurement - MISSING +data.spain$year <- data.spain[["years"]] ## number of year between measurement - MISSING data.spain$D <- data.spain[["dbh1"]]/10 ## diameter in mm convert to cm data.spain$dead <- as.numeric(data.spain[["Life_status"]] == "dead") ## dummy variable for dead tree 0 alive 1 dead - MIGHT WANT TO CHANGE THIS TO BE BASED ON MORTALITY_CUT data.spain$sp <- as.character(data.spain[["SP_code"]]) ## species code