Changeset ff48350 in tol


Ignore:
Timestamp:
Nov 17, 2008, 9:11:51 AM (18 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
d250b78
Parents:
53ceb48
Message:

Adding optional parameters of R KDE

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@176 be4846ae-f051-483a-831f-b64e7d08527f

Location:
tol/stdlib/math/stat/kde
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tol/stdlib/math/stat/kde/_rkde.tol

    r53ceb48 rff48350  
    6464    // Extract extra arguments
    6565    Real n       = getOptArg(optArgs, "n",       512);
     66    Real adjust  = getOptArg(optArgs, "adjust",  1);
     67    Real from    = getOptArg(optArgs, "from",    -1/0);
     68    Real to      = getOptArg(optArgs, "to",      +1/0);
     69    Real cut     = getOptArg(optArgs, "cut",     3);
    6670    Real verbose = getOptArg(optArgs, "verbose", FALSE);
    67 
     71    Real leftBounded  = !IsUnknown(from) & (from>-1/0);
     72    Real rightBounded = !IsUnknown(to)   & (to  <+1/0);
    6873    Set args.info =
    6974      [[
    7075        [[n, "n", "int"]],
     76        [[adjust, "adjust", "real"]],
     77        [[leftBounded, "leftBounded", "bool"]],
     78        [[from, "from", "real"]],
     79        [[rightBounded, "rightBounded", "bool"]],
     80        [[to, "to", "real"]],
     81        [[cut, "cut", "real"]],
    7182        [[verbose, "verbose", "bool"]],
    7283        [[_sample.bbm, "sample.bbm"]],
  • tol/stdlib/math/stat/kde/tolRkde.R

    r53ceb48 rff48350  
    2727
    2828  # Extract optional arguments
    29   verbose    <- get.tol.arg(Rkde_args$verbose, FALSE)
    30   n          <- get.tol.arg(Rkde_args$n,       512)
     29  verbose      <- get.tol.arg(Rkde_args$verbose,      FALSE)
     30  n_           <- get.tol.arg(Rkde_args$n,            512)
     31  adjust_      <- get.tol.arg(Rkde_args$ajust,        1)
     32  leftBounded  <- get.tol.arg(Rkde_args$leftBounded,  FALSE)
     33  from_        <- get.tol.arg(Rkde_args$from,         -1/0)
     34  rightBounded <- get.tol.arg(Rkde_args$rightBounded, FALSE)
     35  to_          <- get.tol.arg(Rkde_args$to,           +1/0)
     36  cut_         <- get.tol.arg(Rkde_args$cut,          3)
    3137  if(verbose)  { print(Rkde_args) }
    32  
    33   dens <- density(sample)
     38  if(leftBounded & rightBounded)
     39  {
     40    dens <- density(sample,bw = "nrd0", adjust = adjust_,
     41        kernel = c("gaussian", "epanechnikov", "rectangular",
     42                   "triangular", "biweight", "cosine", "optcosine"),
     43        window = kernel,
     44        give.Rkern = FALSE,n=n_,from=from_,to=to_,cut=cut_)
     45  }
     46  else if(!leftBounded & rightBounded)
     47  {
     48    dens <- density(sample,bw = "nrd0", adjust = adjust_,
     49        kernel = c("gaussian", "epanechnikov", "rectangular",
     50                   "triangular", "biweight", "cosine", "optcosine"),
     51        window = kernel,
     52        give.Rkern = FALSE,n=n_,from=from_,to=to_,cut=cut_)
     53  }
     54  else if(leftBounded & !rightBounded)
     55  {
     56    dens <- density(sample,bw = "nrd0", adjust = adjust_,
     57        kernel = c("gaussian", "epanechnikov", "rectangular",
     58                   "triangular", "biweight", "cosine", "optcosine"),
     59        window = kernel,
     60        give.Rkern = FALSE,n=n_,from=from_,cut=cut_) 
     61  }
     62  else if(!leftBounded & !rightBounded)
     63  {
     64    dens <- density(sample,bw = "nrd0", adjust = adjust_,
     65        kernel = c("gaussian", "epanechnikov", "rectangular",
     66                   "triangular", "biweight", "cosine", "optcosine"),
     67        window = kernel,
     68        give.Rkern = FALSE,n=n_,cut=cut_)
     69  }
    3470  kdeX <- dens$x
    3571  kdeY <- dens$y
Note: See TracChangeset for help on using the changeset viewer.