diff --git a/merge.data.FUSHAN.R b/merge.data.FUSHAN.R index 8e725a882aa36a00cacac761ab758d88eb4e3995..4ad0a06433ff1ccdc360e46c7ca67bcc1ac12015 100644 --- a/merge.data.FUSHAN.R +++ b/merge.data.FUSHAN.R @@ -26,7 +26,7 @@ data.fushan$D <- data.fushan[["dbh1"]] ## diameter in cm data.fushan$dead <- as.numeric(data.fushan$status2 == "dead") ## dummy variable for dead tree 0 alive 1 dead data.fushan$plot <- rep(NA,nrow(data.fushan)) ## plot code - MISSING data.fushan$htot <- rep(NA,nrow(data.fushan)) ## height of tree in m - MISSING -data.fushan$tree.id <- data.fushan$tag ## tree unique id +data.fushan$tree.id <- data.fushan$tag ## tree unique id - use tag here as it is unique for each row data.fushan$sp.name <- rep(NA,nrow(data.fushan)) v <- species.clean$sp for (i in 1:length(unique(data.fushan$sp))) { diff --git a/merge.data.NZ.R b/merge.data.NZ.R index 89673ab008ccd47992b3de06a6eac819507e3610..2bf3e99083879928e07aa66ff8b5b9f4ce23b5ae 100644 --- a/merge.data.NZ.R +++ b/merge.data.NZ.R @@ -3,42 +3,48 @@ rm(list = ls()) source("./R/format.function.R") library(reshape) -######################### READ DATA read individuals tree data +######################### READ DATA read individuals tree and environmental data data.nz <- read.csv("./data/raw/DataNVS/nz_treedata_growth_130801.csv", header = TRUE, stringsAsFactors = FALSE, skip = 9) data.nz <- data.nz[, -1] -data.trait <- read.csv("./data/raw/DataNVS/nz_traits_130801.csv", , header = TRUE, - stringsAsFactors = FALSE) -data.trait <- data.trait[, -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/DataNVS/nz_plotinfo_130801.csv", , header = TRUE, stringsAsFactors = FALSE) data.plot <- data.plot[, -1] -colnames(data.trait)[1] <- "sp" data.plot$plid <- gsub("__", "_", data.plot$plid) data.plot$plid <- gsub("_", ".", data.plot$plid) ## Replace all underscores with a single dot -data.nz$plid <- gsub("__", "_", data.nz$plid) -data.nz$plid <- gsub("_", ".", data.nz$plid) ## Replace all underscores with a single dot +data.nz <- merge(data.nz, data.frame(plid = data.plot$plid, Easting = data.plot$Easting, + Northing = data.plot$Northing, Locality = data.plot$Locality, MAP = data.plot$map, MAT = data.plot$mat, Broadclass = data.plot$BroadClass, + Specificclass = data.plot$SpecificClass, stringsAsFactors = F), sort = T, by = "plid") +rm(data.plot) + ###################################### MASSAGE TRAIT DATA Maximum height per species is already available from ###################################### data.trait (in m); so no sd's and only obs per spp +data.trait <- read.csv("./data/raw/DataNVS/nz_traits_130801.csv", , header = TRUE, + stringsAsFactors = FALSE) +data.trait <- data.trait[, -1] +colnames(data.trait)[1] <- "sp" + data.max.height <- data.frame(code = data.trait[["sp"]], Max.height.mean = log10(data.trait[["height.m"]]), Max.height.sd = NA, Max.height.nobs = 1) -# write.csv(data.max.height,file='./data/process/data.max.height.nz.csv') ## I -# was planning to save processed data in that folder +# write.csv(data.max.height,file='./data/process/data.max.height.nz.csv') ################################################################ FORMAT INDIVIDUAL TREE DATA ## change unit and names of variables to be the same in all data for the tree data.nz$G <- 10 * (data.nz[["D1"]] - data.nz[["D0"]])/(data.nz[["t1"]] - data.nz[["t0"]]) ## diameter growth in mm per year data.nz$year <- (data.nz[["t1"]] - data.nz[["t0"]]) ## number of year between measurement -data.nz$D <- data.nz[["D0"]] ## diameter in mm convert to cm +data.nz$D <- data.nz[["D0"]] ## diameter in cm data.nz$dead <- as.numeric(is.na(data.nz[["D1"]])) ## dummy variable for dead tree 0 alive 1 dead -data.nz$sp <- data.nz$sp -data.nz$plot <- data.nz$plid -data.nz$htot <- rep(NA, length(data.nz[["sp"]])) ## Max height is already available so have as missing -data.nz$tree.id <- data.nz[["tag"]] -data.nz$tree.id <- gsub("__", "_", data.nz$tree.id) -data.nz$tree.id <- gsub("_", ".", data.nz$tree.id) ## tree unique id +data.nz$plot <- data.nz$plid; data.nz$plid <- NULL +data.nz$htot <- rep(NA, nrow(data.nz)) ## Max height is already available so have as missing +data.nz$tree.id <- rep(NA, nrow(data.nz)) +#data.nz$tree.id <- gsub("__", "_", data.nz$tree.id) +#data.nz$tree.id <- gsub("_", ".", data.nz$tree.id) ## tree unique id +data.nz$weights <- 1/(pi*(0.5*data.nz$D/100)^2) ########################################## CHANGE COORDINATE SYSTEM DON'T KNOW THE EPSG CODE HERE change coordinates ########################################## system of Easting Northing to be in lat long WGS84 @@ -60,21 +66,14 @@ data.nz$Lat <- coordinates(data.sp2)[, "Northing"] rm(data.sp, data.sp2) ###################### ECOREGION merge greco to have no ecoregion with low number of observation -data.nz <- merge(data.nz, data.frame(plot = data.plot$plid, data.plot[, 11:12]), - by = "plot") table(data.nz$Broad) ###################### PERCENT DEAD -perc.dead <- tapply(data.nz[["dead"]], INDEX = data.nz[["plot"]], FUN = function.perc.dead) -# ## VARIABLE TO SELECT PLOT WITH NOT BIG DISTURBANCE KEEP OFTHER VARIABLES IF -# AVAILABLE (disturbance record) +perc.dead <- tapply(data.nz[["dead"]], INDEX = data.nz[["plot"]], FUN = function.perc.dead2) data.nz <- merge(data.nz, data.frame(plot = names(perc.dead), perc.dead = perc.dead), by = "plot", sort = FALSE) ########################################################### PLOT SELECTION FOR THE ANALYSIS -data.nz <- merge(data.nz, data.plot[, c(1, 8:10)], by = "plid") -colnames(data.nz)[colnames(data.nz) %in% c("mat", "map")] <- c("MAT", "MAP") -# colnames(data.nz)[names(data.nz) =='eco_codemerged' ] <- c('ecocode') vec.abio.var.names <- c("MAT", "MAP") vec.basic.var <- c("tree.id", "sp", "spname", "plot", "ecocode", "D", "G", "dead", "year", "htot", "Lon", "Lat", "perc.dead")