Learn R Programming

phenofit (version 0.3.9)

get_pheno: get_pheno

Description

Get yearly vegetation phenological metrics of a curve fitting method

Usage

get_pheno(x, ...)

# S3 method for rfit get_pheno(x, TRS = c(0.2, 0.5), asymmetric = TRUE, ...)

# S3 method for list get_pheno( x, method, TRS = c(0.2, 0.5, 0.6), analytical = FALSE, smoothed.spline = FALSE, IsPlot = FALSE, show.title = TRUE, ... )

# S3 method for fFITs get_pheno( x, method, TRS = c(0.2, 0.5), analytical = FALSE, smoothed.spline = FALSE, IsPlot = FALSE, title.left = "", show.PhenoName = TRUE, ... )

Value

List of every year phenology metrics

Arguments

x

One of:

  • rfit (rought fitting object), returned by brks2rfit().

  • fFITs (fine fitting object), return by multiple curve fitting methods by curvefit() for a growing season.

  • list of fFITs() object, for multiple growing seasons.

...

ignored.

TRS

Threshold for PhenoTrs.

asymmetric

If true, background value in spring season and autumn season is regarded as different.

method

Which fine curve fitting method to be extracted?

analytical

If true, numDeriv package grad and hess will be used; if false, D1 and D2 will be used.

smoothed.spline

Whether apply smooth.spline first?

IsPlot

Boolean. Whether to plot figure?

show.title

Whether to show the name of fine curve fitting method in top title?

title.left

String of growing season flag.

show.PhenoName

Whether to show phenological methods names in the top panel?

fFITs

fFITs object returned by curvefits()

Examples

Run this code
library(phenofit)
# simulate vegetation time-series
FUN = doubleLog.Beck
par  = c( mn  = 0.1, mx  = 0.7, sos = 50, rsp = 0.1, eos = 250, rau = 0.1)
t    <- seq(1, 365, 8)
tout <- seq(1, 365, 1)
y <- FUN(par, t)
methods <- c("AG", "Beck", "Elmore", "Gu", "Zhang") # "Klos" too slow
fit <- curvefit(y, t, tout, methods) # `fFITs` (fine-fitting) object 
fits <- list(`2001` = fit, `2002` = fit) # multiple years

l_param   <- get_param(fits)
d_GOF     <- get_GOF(fits)
d_fitting <- get_fitting(fits)
l_pheno   <- get_pheno(fits, "AG", IsPlot=TRUE)

Run the code above in your browser using DataLab