Commit d9d8bfd0 authored by Georges Kunstler's avatar Georges Kunstler
Browse files

some progress on truning in a package but not finish

parent f49443af
......@@ -12,8 +12,17 @@ D2tree := $(addsuffix /tree.csv,$(addprefix $(D2)/, $(sites) ))
all: TRY sites
data:
make -C R/format.data
process: data
make -C R/process.data
sites: $(sites)
# clean:
# make -C R/format.data clean
#-------------------------------------------------------
include mk/process_BCI.mk
include mk/process_Fushan.mk
......
###################################################
###################################################
###################################################
##### FUNCTION TO FORMAT DATA FOR THE WORKSHOP
#### G. Kunstler 11/09/2013
source("R/packages.R")
check_packages(c("reshape", "boot", "RColorBrewer", "sp", "dismo",
"rgdal", "foreign", "rworldmap"))
############################
## FUNCTION remove trailing white space
trim.trailing <- function (x) sub("\\s+$", "", x)
#############################################
## FUN to clean species name for FRENCH NFI
fun.clean.species.tab <- function(species.tab){
species.tab2 <- species.tab[!is.na(species.tab$Latin_name), ]
### species IFN reformat names
## clean species names and synonyme names
species.tab2$Latin_name <- (gsub("_", " ", species.tab2$Latin_name))
species.tab2$Latin_name_syn<- (gsub("_", " ", species.tab2$Latin_name_syn))
## remove trailing white space
species.tab2$Latin_name_syn<- trim.trailing(species.tab2$Latin_name_syn)
species.clean <- species.tab2[!duplicated(species.tab2$Latin_name),
c("code", "Latin_name",
"Exotic_Native_cultivated")]
names(species.clean) <- c("sp", "Latin_name", "Exotic_Native_cultivated")
return(species.clean)
}
#####################################################
### compute quantile 99% and sd with a bootstrap
##' .. compute quantile 99% and sd with a bootstra..
##'
##' @title f.quantile.boot
##' @param i subset (species) for which to compute quantile
##' @param x vector of height
##' @param fac vector of subset
##' @param R number of resampling
##' @param probs probability of quantile to compute
##' @return a matrix with # col and 1 row with mean sd adn nobs
##' @author Kunstler
f.quantile.boot <- function(i, x, fac, R, probs = 0.99){
require(boot,quietly = TRUE)
if(length( na.exclude(x[fac == i])) > 0 ){
quant.boot <- boot(x[fac == i], f.quantile, R = R, probs = probs)
return(as.matrix(c(mean = mean(quant.boot$t), sd = sd(quant.boot$t),
nobs = length(na.exclude(x[fac == i]))),
ncol = 3, nrow = 1))
}else{
return(as.matrix(c(mean = NA, sd = NA, nobs = NA), ncol = 3, nrow = 1))
}
}
f.quantile <- function (x, ind, probs){
require(boot, quietly = TRUE)
quantile(x[ind], probs = probs, na.rm = TRUE)
}
#######################
### function to compute number of dead per plot
function.perc.dead <- function(dead){
sum(dead)/length(dead)}
## function to deal with missing value
function.perc.dead2 <- function(dead) {
out <- sum(dead, na.rm = T)/length(dead[!is.na(dead)])
if(!is.finite(out)) out <- NA
return(out)
}
## function to convert var factor in character or numeric
fun.convert.type.I <- function(data.tree){
character.var <- c("sp", "sp.name", "ecocode")
numeric.var <- c("D", "G", "BA.G", "dead",
"Lon", "Lat", "weights", "MAT", "MAP")
factor.to.convert.var <- c("obs.id", "tree.id", "cluster", "plot", "census")
for (i in factor.to.convert.var)
data.tree[[i]] <- as.integer(factor(data.tree[[i]]))
for (i in character.var)
data.tree[[i]] <- as.character(data.tree[[i]])
for (i in numeric.var)
data.tree[[i]] <- as.numeric(data.tree[[i]])
return(data.tree)
}
fun.convert.type.B <- function(data.tree){
character.var <- c("sp", "sp.name", "ecocode")
numeric.var <- c("D", "G", "BA.G", "dead",
"x", "y")
factor.to.convert.var <- c("obs.id", "tree.id", "cluster", "plot", "census")
for (i in factor.to.convert.var) data.tree[[i]] <- as.integer(factor(data.tree[[i]]))
for (i in character.var) data.tree[[i]] <- as.character(data.tree[[i]])
for (i in numeric.var) data.tree[[i]] <- as.numeric(data.tree[[i]])
return(data.tree)
}
######
######
## FUNCTION TO PLOT MAP OF TREE with function of DBH
##' .. Function to plot map of tree with circle function of their dbh..
##'
##' .. content for \details{} ..
##' @title
##' @param plot.select the plot for which draw the map
##' @param x
##' @param y
##' @param plot vectore of plot id for each tree
##' @param D diameter in cm
##' @param inches controling the circle size
##' @param fg.l color circle
##' @param ...
##' @return
##' @author Kunstler
fun.circles.plot <- function(plot.select, x, y, plot, D, inches, fg.l, ...){
x.t <- x[plot == plot.select]
y.t <- y[plot == plot.select]
D.t <- D[plot == plot.select]
fg <- fg.l[plot == plot.select]
D.t[is.na(D.t)] <- 0
symbols(x.t, y.t, circles = D.t , main = plot.select, inches = inches,
fg = fg, ...)
}
##' .. remove too negative growth based on Condit R package
##' with param fitted to BCI ..
##'
##' .. taken from trim.growth function in CTFS.R ..
##' @title trim.negative.growth
##' @param dbh1 in mm
##' @param dbh2 in mm
##' @param slope not to be changed
##' @param intercept
##' @param err.limit
##' @return a vector TRUE FALSE with FALSE outlier to be removed
##' @author Kunstler
trim.negative.growth <- function(dbh1, dbh2, slope = 0.006214,
intercept = .9036, err.limit = 5){
stdev.dbh1 <- slope*dbh1 + intercept
bad.grow <- which(dbh2<=(dbh1-err.limit*stdev.dbh1))
accept <- rep(TRUE, length(dbh1))
accept[bad.grow] <- FALSE
accept[is.na(dbh1) | is.na(dbh2) | dbh2<=0 | dbh1<=0] <- FALSE
return(accept)
}
##' .. remove too high growth ..
##'
##' .. taken from trim.growth in Condit CTFS R package ..
##' @title trim.positive.growth
##' @param growth in mm
##' @param maxgrow in mm
##' @return TRUE FALSE vector with FALSE outlier
##' @author Kunstler
trim.positive.growth <- function(growth, maxgrow = 75){
bad.grow <- which(growth>maxgrow)
accept <- rep(TRUE, length(growth))
accept[bad.grow] <- FALSE
accept[is.na(growth)] <- FALSE
return(accept)
}
##################### CREATE PLOT BASED ON square.sxsquare.s m cell from X Y
fun.quadrat <- function(x, y, square.s) {
if(sum(!is.na(x))>10){
vec.x <- seq(0, max(x, na.rm = T) + 20, by = square.s)
vec.y <- seq(0, max(y, na.rm = T) + 20, by = square.s)
x.cut <- cut(x, breaks = vec.x, include.lowest = TRUE)
y.cut <- cut(y, breaks = vec.y, include.lowest = TRUE)
out <- apply(cbind(x.cut, y.cut), 1, paste, collapse = ".")
out[is.na(x.cut)] <- NA
out[is.na(y.cut)] <- NA
return(unclass(out))
}else{
return(rep(NA, length(x)))
}
}
## function to apply per cluster
fun.quadrat.cluster <- function(cluster.id, cluster, tree.id, x, y, square.s){
temp <- fun.quadrat(x[cluster == cluster.id], y[cluster == cluster.id],
square.s = square.s)
temp2 <- paste((cluster[cluster == cluster.id]), temp, sep = ".")
temp2[is.na(temp)] <- NA
return(data.frame(make.quad = temp2, tree.id = tree.id[cluster == cluster.id]))
}
fun_div <- function(sp){
p_i <- table(factor(sp))/sum(table(factor(sp)))
shannon <- -sum(p_i*log(p_i))
simpson <- 1-sum(p_i^2)
return(data.frame(shannon=shannon,simpson=simpson))
}
fun.sp.in.ecoregion <- function(data, thres.prop=0.05){
names(table(data[["sp"]]))[table(data[["sp"]])/length(data[["sp"]]) > thres.prop]
}
#!/usr/bin/env Rscript
### MERGE japan DATA
rm(list = ls())
source("R/format.data/format-fun.R")
source("R/utils/plot.R")
library(traitcompetition)
library(reshape, quietly = TRUE)
dir.create("output/formatted/Japan", recursive = TRUE, showWarnings = FALSE)
path.root <- git.root()
dir.create(file.path(path.root, "output/formatted/Japan"),
recursive = TRUE, showWarnings = FALSE)
######################### READ DATA read individuals tree data
filedir <- "data/raw/Japan/TreeData/"
filedir <- file.path(path.root, "data/raw/Japan/TreeData/")
filenames <- c("AI-BC1", "AU-DB1", "GR-DB1", "KK-DB1", "OG-DB1",
"SD-EB1", "TM-DB4", "AM-EB1", "AU-EC1",
"HY-EC1", "KM-DB1", "OS-EC1", "SI-DB1", "TN-EB1", "AO-BC1",
......@@ -24,7 +25,7 @@ data.japan <- data.frame(x = 1, y = 1, id = 1, plot = 1, sp = 1, sp.name = 1,
dbh1 = 1, dbh2 = 1,
date1 = 1, date2 = 1, status1 = 1,
status2 = 1, er1 = NA, er2 = NA)
for(i in 1:length(filenames)) {
for(i in seq_along(filenames)) {
make.filename <- paste(filenames[i], "-tree-ver1.csv", sep = "")
cat("Working on dataset", make.filename, "\n")
......@@ -32,9 +33,9 @@ for(i in 1:length(filenames)) {
if(filenames[i] %in% c('CC-DB1', 'CC-DB2', 'CC-DB3', 'OG-DB1',
'OY-DB1', 'SD-EB1', 'TM-DB4')) next;
tmp.dat <- read.csv(paste(filedir, make.filename, sep = ""),
header = T,
stringsAsFactors = FALSE, fill = T)
tmp.dat <- read.csv(file.path(filedir, make.filename),
header = TRUE,
stringsAsFactors = FALSE, fill = TRUE)
how.many.measures <- length(grep("gbh", colnames(tmp.dat)))
if(how.many.measures == 1) next;
......@@ -99,8 +100,8 @@ data.japan <- data.japan[-1, ]
data.japan$date1 <- as.Date(as.character(data.japan$date1), format = "%Y%m%d")
data.japan$date2 <- as.Date(as.character(data.japan$date2), format = "%Y%m%d")
site.data <- read.csv(file = "data/raw/Japan/ERDP_2011_01.5.1-SiteList.csv",
header = T)
site.data <- read.csv(file = file.path(path.root, "data/raw/Japan/ERDP_2011_01.5.1-SiteList.csv"),
header = TRUE)
data.japan <- merge(data.japan, data.frame(plot = site.data$PlotID,
Lat = site.data$Latitude,
Lon = site.data$Longitude,
......@@ -183,7 +184,6 @@ data.japan$plot <- data.japan$make.quad
## LOAD WORLDCLIM
#### get wc climate
source("R/utils/climate.R")
clim <- GetClimate(data.japan$Lat, data.japan$Lon)
data.japan$MAT <- clim$MAT
data.japan$MAP <- clim$MAP
......@@ -223,10 +223,12 @@ data.japan <- merge(data.japan, data.biomes, by = 'cluster')
table(data.japan$ecocode)
## ### biomes from Whittaker
## ### biomes from Whittake
obj <- prepare.plotting.info()
biomes <- fun.overly.plot.on.biomes(MAP = data.japan$MAP/10,
MAT = data.japan$MAT,
names.vec = 1:nrow(data.japan))
names.vec = 1:nrow(data.japan),
poly=obj$poly.DF)
# plot
plot.biome.map()
points(data.japan$MAP/10,data.japan$MAT)
......@@ -275,7 +277,7 @@ vec.basic.var <- c("obs.id", "tree.id", "sp", "sp.name", "cluster", "plot",
data.tree <- subset(data.japan, select = c(vec.basic.var))
data.tree <- fun.convert.type.B(data.tree)
write.csv(data.tree, file = "output/formatted/Japan/tree.csv",
write.csv(data.tree, file = file.path(path.root, "output/formatted/Japan/tree.csv"),
row.names = FALSE)
### write data plot with variables only at the plot level.
......@@ -283,6 +285,6 @@ write.csv(data.tree, file = "output/formatted/Japan/tree.csv",
vec.basic.var.p <- c("plot", "cluster", "Lon","Lat","ecocode")
data.plot <- subset(data.tree, subset=!duplicated(data.tree$cluster),
select = c(vec.basic.var.p))
write.csv(data.plot, file = "output/formatted/Japan/plot.csv",
write.csv(data.plot, file = file.path(path.root, "output/formatted/Japan/plot.csv"),
row.names = FALSE)
include mk/process_BCI.mk
include mk/process_Fushan.mk
include mk/process_Paracou.mk
include mk/process_Mbaiki.mk
include mk/process_Luquillo.mk
include mk/process_Japan.mk
include mk/process_Canada.mk
include mk/process_Spain.mk
include mk/process_Sweden.mk
include mk/process_France.mk
include mk/process_Swiss.mk
include mk/process_NSW.mk
include mk/process_NVS.mk
include mk/process_US.mk
include mk/cible.tree.traits.mk
SITES:= US Fushan Paracou BCI Mbaiki Luquillo Japan Spain Sweden Canada France Swiss NSW NVS
all: $(SITES)
tree.all.sites: $(D2)/BCI/tree.csv $(D2)/Fushan/tree.csv $(D2)/Paracou/tree.csv $(D2)/Mbaiki/tree.csv $(D2)/Luquillo/tree.csv $(D2)/Japan/tree.csv $(D2)/US/tree.csv $(D2)/Canada/tree.csv $(D2)/Spain/tree.csv $(D2)/Sweden/tree.csv $(D2)/France/tree.csv $(D2)/Swiss/tree.csv $(D2)/NSW/tree.csv $(D2)/NVS/tree.csv
traits.all.sites: $(D2)/BCI/traits.csv $(D2)/Fushan/traits.csv $(D2)/Paracou/traits.csv $(D2)/Mbaiki/traits.csv $(D2)/Luquillo/traits.csv $(D2)/Japan/traits.csv $(D2)/US/traits.csv $(D2)/Canada/traits.csv $(D2)/Spain/traits.csv $(D2)/Sweden/traits.csv $(D2)/France/traits.csv $(D2)/Swiss/traits.csv $(D2)/NSW/traits.csv $(D2)/NVS/traits.csv
BCI: $(D3)/BCI/Done.no.txt $(D3)/BCI/Done.log.txt
$(D3)/BCI/Done.no.txt: R/process.data/process-fun.R $(D2)/BCI/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('BCI', Rlim=15,std.traits='no');"
$(D3)/BCI/Done.log.txt: R/process.data/process-fun.R $(D2)/BCI/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('BCI', Rlim=15,std.traits='log');"
$(D2)/BCI/traits.csv: R/find.trait/BCI.R R/find.trait/trait-fun.R $(D2)/BCI/tree.csv
Rscript $<
$(D2)/BCI/tree.csv: R/format.data/BCI.R $(shell find $(D1)/BCI -type f)
Rscript $<
Canada: $(D3)/Canada/Done.no.txt $(D3)/Canada/Done.log.txt
$(D3)/Canada/Done.no.txt: R/process.data/process-fun.R $(D2)/Canada/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('Canada',std.traits='no');"
$(D3)/Canada/Done.log.txt: R/process.data/process-fun.R $(D2)/Canada/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('Canada',std.traits='log');"
$(D2)/Canada/traits.csv: R/find.trait/Canada.R R/find.trait/trait-fun.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: $(D3)/France/Done.no.txt $(D3)/France/Done.log.txt
$(D3)/France/Done.no.txt: R/process.data/process-fun.R $(D2)/France/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('France',std.traits='no');"
$(D3)/France/Done.log.txt: R/process.data/process-fun.R $(D2)/France/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('France',std.traits='log');"
$(D2)/France/traits.csv: R/find.trait/France.R R/find.trait/trait-fun.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: $(D3)/Fushan/Done.no.txt $(D3)/Fushan/Done.log.txt
$(D3)/Fushan/Done.no.txt: R/process.data/process-fun.R $(D2)/Fushan/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('Fushan', Rlim=15,std.traits='no');"
$(D3)/Fushan/Done.log.txt: R/process.data/process-fun.R $(D2)/Fushan/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('Fushan', Rlim=15,std.traits='log');"
$(D2)/Fushan/traits.csv: R/find.trait/Fushan.R R/find.trait/trait-fun.R $(D2)/Fushan/tree.csv
Rscript $<
$(D2)/Fushan/tree.csv: R/format.data/Fushan.R $(shell find $(D1)/Fushan -type f)
Rscript $<
Japan: $(D3)/Japan/Done.no.txt $(D3)/Japan/Done.log.txt
$(D3)/Japan/Done.no.txt: R/process.data/process-fun.R $(D2)/Japan/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('Japan', Rlim=15,std.traits='no');"
$(D3)/Japan/Done.log.txt: R/process.data/process-fun.R $(D2)/Japan/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('Japan', Rlim=15,std.traits='log');"
$(D2)/Japan/traits.csv: R/find.trait/Japan.R R/find.trait/trait-fun.R $(D2)/Japan/tree.csv
Rscript $<
$(D2)/Japan/tree.csv: R/format.data/Japan.R $(shell find $(D1)/Japan -type f)
Rscript $<
Luquillo: $(D3)/Luquillo/Done.no.txt $(D3)/Luquillo/Done.log.txt
$(D3)/Luquillo/Done.no.txt: R/process.data/process-fun.R $(D2)/Luquillo/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('Luquillo', Rlim=15,std.traits='no');"
$(D3)/Luquillo/Done.log.txt: R/process.data/process-fun.R $(D2)/Luquillo/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('Luquillo', Rlim=15,std.traits='log');"
$(D2)/Luquillo/traits.csv: R/find.trait/Luquillo.R R/find.trait/trait-fun.R $(D2)/Luquillo/tree.csv
Rscript $<
$(D2)/Luquillo/tree.csv: R/format.data/Luquillo.R $(shell find $(D1)/Luquillo -type f)
Rscript $<
Mbaiki: $(D3)/Mbaiki/Done.no.txt $(D3)/Mbaiki/Done.log.txt
$(D3)/Mbaiki/Done.no.txt: R/process.data/process-fun.R $(D2)/Mbaiki/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('Mbaiki', Rlim=15,std.traits='no');"
$(D3)/Mbaiki/Done.log.txt: R/process.data/process-fun.R $(D2)/Mbaiki/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('Mbaiki', Rlim=15,std.traits='log');"
$(D2)/Mbaiki/traits.csv: R/find.trait/Mbaiki.R R/find.trait/trait-fun.R $(D2)/Mbaiki/tree.csv
Rscript $<
$(D2)/Mbaiki/tree.csv: R/format.data/Mbaiki.R $(shell find $(D1)/Mbaiki -type f)
Rscript $<
NSW: $(D3)/NSW/Done.no.txt $(D3)/NSW/Done.log.txt
$(D3)/NSW/Done.no.txt: R/process.data/process-fun.R $(D2)/NSW/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('NSW',std.traits='no');"
$(D3)/NSW/Done.log.txt: R/process.data/process-fun.R $(D2)/NSW/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('NSW',std.traits='log');"
$(D2)/NSW/traits.csv: R/find.trait/NSW.R R/find.trait/trait-fun.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: $(D3)/NVS/Done.no.txt $(D3)/NVS/Done.log.txt
$(D3)/NVS/Done.no.txt: R/process.data/process-fun.R $(D2)/NVS/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('NVS',std.traits='no');"
$(D3)/NVS/Done.log.txt: R/process.data/process-fun.R $(D2)/NVS/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('NVS',std.traits='log');"
$(D2)/NVS/traits.csv: R/find.trait/NVS.R R/find.trait/trait-fun.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: $(D3)/Paracou/Done.no.txt $(D3)/Paracou/Done.log.txt
$(D3)/Paracou/Done.no.txt: R/process.data/process-fun.R $(D2)/Paracou/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('Paracou', Rlim=15,std.traits='no');"
$(D3)/Paracou/Done.log.txt: R/process.data/process-fun.R $(D2)/Paracou/traits.csv
Rscript -e "source('$<'); process_bigplot_dataset('Paracou', Rlim=15,std.traits='log');"
$(D2)/Paracou/traits.csv: R/find.trait/Paracou.R R/find.trait/trait-fun.R $(D2)/Paracou/tree.csv
Rscript $<
$(D2)/Paracou/tree.csv: R/format.data/Paracou.R $(shell find $(D1)/Paracou -type f)
Rscript $<
Spain: $(D3)/Spain/Done.no.txt $(D3)/Spain/Done.log.txt
$(D3)/Spain/Done.no.txt: R/process.data/process-fun.R $(D2)/Spain/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('Spain',std.traits='no');"
$(D3)/Spain/Done.log.txt: R/process.data/process-fun.R $(D2)/Spain/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('Spain',std.traits='log');"
$(D2)/Spain/traits.csv: R/find.trait/Spain.R R/find.trait/trait-fun.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: $(D3)/Sweden/Done.no.txt $(D3)/Sweden/Done.log.txt
$(D3)/Sweden/Done.no.txt: R/process.data/process-fun.R $(D2)/Sweden/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('Sweden',std.traits='no');"
$(D3)/Sweden/Done.log.txt: R/process.data/process-fun.R $(D2)/Sweden/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('Sweden',std.traits='log');"
$(D2)/Sweden/traits.csv: R/find.trait/Sweden.R R/find.trait/trait-fun.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: $(D3)/Swiss/Done.no.txt $(D3)/Swiss/Done.log.txt
$(D3)/Swiss/Done.no.txt: R/process.data/process-fun.R $(D2)/Swiss/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('Swiss',std.traits='no');"
$(D3)/Swiss/Done.log.txt: R/process.data/process-fun.R $(D2)/Swiss/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('Swiss',std.traits='log');"
$(D2)/Swiss/traits.csv: R/find.trait/Swiss.R R/find.trait/trait-fun.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: $(D3)/US/Done.no.txt $(D3)/US/Done.log.txt
$(D3)/US/Done.no.txt: R/process.data/process-fun.R $(D2)/US/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('US',std.traits='no');"
$(D3)/US/Done.log.txt: R/process.data/process-fun.R $(D2)/US/traits.csv
Rscript -e "source('$<'); process_inventory_dataset('US',std.traits='log');"
$(D2)/US/traits.csv: R/find.trait/US.R R/find.trait/trait-fun.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 $<
../../wc0.5/
\ No newline at end of file
Markdown is supported
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