Commit c1f407ec authored by fhui28's avatar fhui28
Browse files

changes to merge canada

No related merge requests found
Showing with 14 additions and 10 deletions
+14 -10
......@@ -38,8 +38,12 @@ data.canada$dead <- rep(NA,length(data.canada[["Species"]])) ## dummy variable f
data.canada$sp <- as.character(data.canada[["Species"]]) ## species code
data.canada$plot <- (data.canada[["PlotID"]]) ## plot code
data.canada$htot <- rep(NA,length(data.canada[["Species"]]))## height of tree in m / missing
get.treeid <- function(x) { out <- strsplit(x,"_")[[1]]; out <- out[length(out)]; return(out) }
data.canada$tree.id <- sapply(data.canada$PLOTTREE,get.treeid) ## tree unique id
data.canada$tree.id <- data.canada$PLOTTREE ## tree unique id
data.canada$sp.name <- NA;
for(i in 1:length(unique(data.canada$sp))) {
v <- species.clean$SPCD
data.canada$sp.name[which(data.canada$sp == unique(data.canada$sp)[i])] <- species.clean$COMMON_NAME[which(v == unique(data.canada$sp)[i])] }
############################
## merge greco to have no ecoregion with low number of observation
......@@ -77,8 +81,8 @@ data.canada$perc.dead <- NA
# table(data.canada$Mortality_Cut)
# data.canada <- subset(data.canada,subset= (data.canada[["Mortality_Cut"]] == 0 | data.canada[["Mortality_Cut"]] == ""))
colnames(data.canada)[c(2,5,10)] <- c("sp","plot","w")
vec.abio.var.names <- c("MAT","PP","PET")
colnames(data.canada)[c(2,5,10,12,14)] <- c("sp","plot","w","ecocode","PP")
vec.abio.var.names <- c("MAT","PP")
vec.basic.var <- c("tree.id","sp","sp.name","plot","ecocode","D","G","dead","year","htot","Lon","Lat","perc.dead")
data.tree <- subset(data.canada,select=c(vec.basic.var,vec.abio.var.names))
......@@ -90,20 +94,20 @@ data.BA.SP <- BA.SP.FUN(id.tree=as.vector(data.canada[["tree.id"]]), diam=as.vec
weights=1/(10000*data.canada[["SubPlotSize"]]), weight.full.plot=NA)
## change NA and <0 data for 0
data.BA.SP[which(is.na(data.BA.SP),arr.ind=TRUE)] <- 0
data.BA.SP[,-1][which(data.BA.SP[,-1]<0,arr.ind=TRUE)] <- 0
data.BA.SP[is.na(data.BA.SP)] <- 0
data.BA.SP[,-1][data.BA.SP[,-1]<0] <- 0
### CHECK IF sp and sp name for column are the same
if(sum(! (names(data.BA.SP)[-1] %in% unique(dataIFN.spain[["sp"]]))) >0) stop("competition index sp name not the same as in data.tree")
if(sum(!(names(data.BA.SP)[-1] %in% unique(data.canada[["sp"]]))) >0) stop("competition index sp name not the same as in data.tree")
#### compute BA tot for all competitors
BATOT.COMPET <- apply(data.BA.SP[,-1],MARGIN=1,FUN=sum,na.rm=TRUE)
data.BA.SP$BATOT.COMPET <- BATOT.COMPET
data.BA.SP$BATOT.COMPET <- BATOT.COMPET; rm(BATOT.COMPET)
### create data frame
names(data.BA.SP) <- c("tree.id",names(data.BA.SP)[-1])
data.BA.sp <- merge(data.frame(tree.id=dataIFN.spain[["tree.id"]],ecocode=dataIFN.spain[["ecocode"]]),data.BA.SP,by="tree.id",sort=FALSE)
data.BA.sp <- merge(data.frame(tree.id=data.canada[["tree.id"]],ecocode=data.canada[["ecocode"]]),data.BA.SP,by="tree.id",sort=FALSE)
## test
if( sum(! data.BA.sp[["tree.id"]] == data.tree[["tree.id"]]) >0) stop("competition index not in the same order than data.tree")
if(sum(!data.BA.sp[["tree.id"]] == data.tree[["tree.id"]]) >0) stop("competition index not in the same order than data.tree")
## save everything as a list
list.spain <- list(data.tree=data.tree,data.BA.SP=data.BA.sp,data.traits=data.traits)
......
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