diff --git a/DESCRIPTION b/DESCRIPTION index cd85fe73c40878a4e9a92b5f8fb16b6441231818..bb8f4356ef8aa3cb7ecba1fb22c7c021985093de 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Package: ads Type: Package Title: Spatial point patterns analysis -Version: 1.5-2.2 -Date: 2015-01-13 +Version: 1.5-3 +Date: 2018-03-28 Author: R. Pelissier and F. Goreaud Maintainer: Raphael Pelissier <Raphael.Pelissier@ird.fr> Imports: ade4, spatstat diff --git a/NAMESPACE b/NAMESPACE index 7f723b74c0a0bf9d738e160054c72c30a7bee2d2..c225fe8e945e51ee2f5779c87a94c07a2a183795 100755 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,8 +1,83 @@ # Import external pkg names -# import(ade4, spatstat) importFrom(ade4,"divc","is.euclid") importFrom(spatstat,"border","bounding.box.xy","area.owin") +importFrom("graphics", "abline", "barplot", "layout", "lines", "par", + "plot", "plot.default", "points", "polygon", "symbols", + "text") + importFrom("stats", "as.dist", "var") + importFrom("utils", "read.table", "str") + # Export all names (should be improved in the future) -exportPattern(".") +export( + k12fun, + k12val, + kdfun, + kfun, + kmfun, + kp.fun, + kpqfun, + krfun, + ksfun, + kval, + + swin, + area.swin, + inside.swin, + ppp2spp, + dval, + mimetic, + owin2swin, + spp, + triangulate +) + +exportClasses( + fads, + mimetic, + spp, + swin, + vads +) + +S3method(plot, kfun, plot.fads.kfun) +S3method(plot, kdfun, plot.fads.kdfun) +S3method(plot, k12fun, plot.fads.k12fun) +S3method(plot, kpqfun, plot.fads.kpqfun) +S3method(plot, kp.fun, plot.fads.kp.fun) +S3method(plot, kmfun, plot.fads.kmfun) +S3method(plot, ksfun, plot.fads.ksfun) +S3method(plot, krfun, plot.fads.krfun) +S3method(plot, mimetic) +S3method(plot, spp) +S3method(plot, swin) +S3method(plot, dval, plot.vads.dval) +S3method(plot, k12val, plot.vads.k12val) +S3method(plot, kval, plot.vads.kval) + +S3method(print, kfun, print.fads.kfun) +S3method(print, kdfun, print.fads.kdfun) +S3method(print, k12fun, print.fads.k12fun) +S3method(print, kpqfun, print.fads.kpqfun) +S3method(print, kp.fun, print.fads.kp.fun) +S3method(print, kmfun, print.fads.kmfun) +S3method(print, ksfun, print.fads.ksfun) +S3method(print, krfun, print.fads.krfun) +S3method(print, spp) +S3method(print, swin) +S3method(print, dval, print.vads.dval) +S3method(print, k12val, print.vads.k12val) +S3method(print, kval, print.vads.kval) +S3method(print, summary.dval) +S3method(print, summary.k12val) +S3method(print, summary.kval) +S3method(print, summary.spp) +S3method(print, summary.swin) + +S3method(summary, spp) +S3method(summary, swin) +S3method(summary, dval, summary.vads.dval) +S3method(summary, k12val, summary.vads.k12val) +S3method(summary, kval, summary.vads.kval) + # load DLL useDynLib(ads) diff --git a/R/plot.fads.R b/R/plot.fads.R index badaf431338d968c6f7fdc95fc4f75103b8b1556..7f932b8b68d4905261a5c867f6ad9e370191a624 100755 --- a/R/plot.fads.R +++ b/R/plot.fads.R @@ -1,5 +1,5 @@ plot.fads<-function (x,opt,cols,lty,main,sub,legend,csize,...) { - UseMethod("plot.fads") + NextMethod() } plot.fads.kfun<-function (x,opt=c("all","L","K","n","g"),cols,lty,main,sub,legend=TRUE,csize=1,...) { diff --git a/R/print.fads.R b/R/print.fads.R index 59708fa107c97550e3e775d8d559ef9ae3c4703c..23142c8a93ca9966356716f946fad42b76c207d2 100755 --- a/R/print.fads.R +++ b/R/print.fads.R @@ -1,5 +1,5 @@ print.fads<-function(x,...) { - UseMethod("print.fads") + NextMethod() } print.fads.kfun<-function(x,...) { @@ -7,6 +7,11 @@ print.fads.kfun<-function(x,...) { str(x) } +print.fads.kdfun<-function(x,...) { + cat("Multiscale second-order neigbourhood analysis of a spatial phylogenetic or functional diversity pattern from fully mapped data:\n") + str(x) +} + print.fads.k12fun<-function(x,...) { cat("Bivariate second-order neighbourhood functions:\n") str(x) diff --git a/R/print.vads.R b/R/print.vads.R index b2587a3411ef140ca830a8c41bff579df1856b93..bf8f38fadd93b12b76c6468f5583f684b6145125 100755 --- a/R/print.vads.R +++ b/R/print.vads.R @@ -1,72 +1,72 @@ -print.vads<-function(x,...) { - UseMethod("print.vads") -} - -print.vads.dval<-function(x,...) { - cat("First-order local density values:\n") - str(x) - #cat("class: ",class(x),"\n") - #cat("call: ") - #print(x$call) - #cat("sampling window :",x$window$type,"\n") - #cat("\n") - #sumry <- array("", c(1, 4), list(1:1, c("vector", "length", "mode", "content"))) - #sumry[1, ] <- c("$r", length(x$r), mode(x$r), "distance (r)") - #class(sumry) <- "table" - #print(sumry) - #cat("\n") - #sumry <- array("", c(3, 4), list(1:3, c("matrix", "nrow", "ncol", "content"))) - #sumry[1, ] <- c("$grid", nrow(x$grid), ncol(x$grid), "(x,y) coordinates of the sampling points A") - #sumry[2, ] <- c("$count", nrow(x$count), ncol(x$count), "counting function NA(r)") - #sumry[3, ] <- c("$density", nrow(x$dens), ncol(x$dens), "local density function nA(r)") - #class(sumry) <- "table" - #print(sumry) -} - -print.vads.kval<-function(x,...) { - cat("Univariate second-order local neighbourhood values:\n") - str(x) - #cat("class: ",class(x),"\n") - #cat("call: ") - #print(x$call) - #cat("\n") - #sumry <- array("", c(1, 4), list(1:1, c("vector", "length", "mode", "content"))) - #sumry[1, ] <- c("$r", length(x$r), mode(x$r), "distance (r)") - #class(sumry) <- "table" - #print(sumry) - #cat("\n") - #sumry <- array("", c(5, 4), list(1:5, c("matrix", "nrow", "ncol", "content"))) - #sumry[1, ] <- c("$coord", nrow(x$coord), ncol(x$coord), "(x,y) coordinates of points i") - #sumry[2, ] <- c("$gi", nrow(x$gi), ncol(x$gi), "individual pair density values gi(r)") - #sumry[3, ] <- c("$ni", nrow(x$ni), ncol(x$ni), "individual local neighbour density values ni(r)") - #sumry[4, ] <- c("$ki", nrow(x$ki), ncol(x$ki), "individual Ripley's values Ki(r)") - #sumry[5, ] <- c("$li", nrow(x$li), ncol(x$li), "modified individual Ripley's values Li(r)") - #class(sumry) <- "table" - #print(sumry) -} - -print.vads.k12val<-function(x,...) { - #verifyclass(x,"k12ival") - cat("Bivariate second-order local neighbourhood values:\n") - str(x) - #cat("class: ",class(x),"\n") - #cat("call: ") - #print(x$call) - #cat("mark1: ",x$marks[1],"\n") - #cat("mark2: ",x$marks[2],"\n") - #cat("\n") - #sumry <- array("", c(1, 4), list(1:1, c("vector", "length", "mode", "content"))) - #sumry[1, ] <- c("$r", length(x$r), mode(x$r), "distance (r)") - #class(sumry) <- "table" - #print(sumry) - #cat("\n") - #sumry <- array("", c(5, 4), list(1:5, c("matrix", "nrow", "ncol", "content"))) - #sumry[1, ] <- c("$coord1", nrow(x$coord1), ncol(x$coord1), "(x,y) coordinates of points of mark 1") - #sumry[2, ] <- c("$g12i", nrow(x$g12i), ncol(x$g12i), "individual pair density values g12i(r)") - #sumry[3, ] <- c("$n12i", nrow(x$n12i), ncol(x$n12i), "individual local neighbour density values n12i(r)") - #sumry[4, ] <- c("$k12i", nrow(x$k12i), ncol(x$k12i), "individual intertype values K12i(r)") - #sumry[5, ] <- c("$l12i", nrow(x$l12i), ncol(x$l12i), "modified intrtype Ripley's values L12i(r)") - #class(sumry) <- "table" - #print(sumry) -} - +print.vads<-function(x,...) { + NextMethod() +} + +print.vads.dval<-function(x,...) { + cat("First-order local density values:\n") + str(x) + #cat("class: ",class(x),"\n") + #cat("call: ") + #print(x$call) + #cat("sampling window :",x$window$type,"\n") + #cat("\n") + #sumry <- array("", c(1, 4), list(1:1, c("vector", "length", "mode", "content"))) + #sumry[1, ] <- c("$r", length(x$r), mode(x$r), "distance (r)") + #class(sumry) <- "table" + #print(sumry) + #cat("\n") + #sumry <- array("", c(3, 4), list(1:3, c("matrix", "nrow", "ncol", "content"))) + #sumry[1, ] <- c("$grid", nrow(x$grid), ncol(x$grid), "(x,y) coordinates of the sampling points A") + #sumry[2, ] <- c("$count", nrow(x$count), ncol(x$count), "counting function NA(r)") + #sumry[3, ] <- c("$density", nrow(x$dens), ncol(x$dens), "local density function nA(r)") + #class(sumry) <- "table" + #print(sumry) +} + +print.vads.kval<-function(x,...) { + cat("Univariate second-order local neighbourhood values:\n") + str(x) + #cat("class: ",class(x),"\n") + #cat("call: ") + #print(x$call) + #cat("\n") + #sumry <- array("", c(1, 4), list(1:1, c("vector", "length", "mode", "content"))) + #sumry[1, ] <- c("$r", length(x$r), mode(x$r), "distance (r)") + #class(sumry) <- "table" + #print(sumry) + #cat("\n") + #sumry <- array("", c(5, 4), list(1:5, c("matrix", "nrow", "ncol", "content"))) + #sumry[1, ] <- c("$coord", nrow(x$coord), ncol(x$coord), "(x,y) coordinates of points i") + #sumry[2, ] <- c("$gi", nrow(x$gi), ncol(x$gi), "individual pair density values gi(r)") + #sumry[3, ] <- c("$ni", nrow(x$ni), ncol(x$ni), "individual local neighbour density values ni(r)") + #sumry[4, ] <- c("$ki", nrow(x$ki), ncol(x$ki), "individual Ripley's values Ki(r)") + #sumry[5, ] <- c("$li", nrow(x$li), ncol(x$li), "modified individual Ripley's values Li(r)") + #class(sumry) <- "table" + #print(sumry) +} + +print.vads.k12val<-function(x,...) { + #verifyclass(x,"k12ival") + cat("Bivariate second-order local neighbourhood values:\n") + str(x) + #cat("class: ",class(x),"\n") + #cat("call: ") + #print(x$call) + #cat("mark1: ",x$marks[1],"\n") + #cat("mark2: ",x$marks[2],"\n") + #cat("\n") + #sumry <- array("", c(1, 4), list(1:1, c("vector", "length", "mode", "content"))) + #sumry[1, ] <- c("$r", length(x$r), mode(x$r), "distance (r)") + #class(sumry) <- "table" + #print(sumry) + #cat("\n") + #sumry <- array("", c(5, 4), list(1:5, c("matrix", "nrow", "ncol", "content"))) + #sumry[1, ] <- c("$coord1", nrow(x$coord1), ncol(x$coord1), "(x,y) coordinates of points of mark 1") + #sumry[2, ] <- c("$g12i", nrow(x$g12i), ncol(x$g12i), "individual pair density values g12i(r)") + #sumry[3, ] <- c("$n12i", nrow(x$n12i), ncol(x$n12i), "individual local neighbour density values n12i(r)") + #sumry[4, ] <- c("$k12i", nrow(x$k12i), ncol(x$k12i), "individual intertype values K12i(r)") + #sumry[5, ] <- c("$l12i", nrow(x$l12i), ncol(x$l12i), "modified intrtype Ripley's values L12i(r)") + #class(sumry) <- "table" + #print(sumry) +} + diff --git a/R/summary.vads.R b/R/summary.vads.R index e617af1513c21cb63497eb61ce157d70be825ca2..a5b9d0d455278c2787a3e4c86702c24925727cb4 100755 --- a/R/summary.vads.R +++ b/R/summary.vads.R @@ -1,5 +1,5 @@ summary.vads<-function(object,...) { - UseMethod("summary.vads") + NextMethod() } summary.vads.dval<-function (object,...) { diff --git a/R/triangulate.R b/R/triangulate.R index 5b05a24788f4a2f102e3c57c76532ee0a672f1d9..9453baeb68d07d7e7470184d32174e0ae4469f21 100755 --- a/R/triangulate.R +++ b/R/triangulate.R @@ -29,7 +29,7 @@ triangulate<-function(outer.poly,holes) { else { # phv 20160823 bug fix: triangulate C function crashes with 4 points polygons and no hole # Bypass the C function and returns 2 triangles made respectively of vertices (1, 2, 3) and (1, 3, 4) - if(nrow(outer.poly)==4) { + if(length(outer.poly$x)==4) { return(data.frame( ax=c(outer.poly$x[1], outer.poly$x[1]), ay=c(outer.poly$y[1], outer.poly$y[1]),