View source: R/as.parameters.R
as.parameters | R Documentation |
Convert vector, matrix, list, or data.frame to parameters-objects.
as.parameters(..., distr = NULL) ## S3 method for class 'numeric' as.parameters(..., distr) ## S3 method for class 'matrix' as.parameters(x, distr, ...) ## S3 method for class 'list' as.parameters(x, distr, ...) ## S3 method for class 'data.frame' as.parameters(x, formula, distr, ...)
... |
parameters of distribution. This can be named vectors or lists, matrices, or data.frames. See examples below. |
distr |
character giving the distribution. Function of name q\"distr\" has to be available. |
x |
numeric vector, matrix, list, or data.frame of parameters. |
formula |
if |
object of class parameters, see parameters help page.
numeric
: as.parameters for numeric data vectors
matrix
: as.parameters for numeric data matrices
list
: as.parameters for numeric data lists
data.frame
: as.parameters for numeric data.frames
parameters
# Vector input: as.parameters(loc = 3, scale = 2, shape = .4, distr = "gev") as.parameters(c(loc = 3, scale = 2, shape = .4), distr = "gev") # Names can be shortened if unambiguous: as.parameters(l = 3, sc = 2, sh = .4, distr = "gev") as.parameters(m = 3, s = 1, distr = "norm") # Wrong or ambiguous names lead to errors! ## Not run: as.parameters(l = 3, s = 2, s = .4, distr = "gev") as.parameters(loc2 = 3, scale = 2, shape = .4, distr = "gev") ## End(Not run) # If no names are given, a warning is given and they are guessed for gev, gpd, gum, and ln3. as.parameters(3, 2, .4, distr = "gev") as.parameters(c(3, 2, .4), distr = "gev") ## Not run: as.parameters(3, 2, .2, .4, distr = "gev") #=> doesn't work ## End(Not run) # Matrix input: # Parameters in matrices must have either matching rownames or colnames! as.parameters(cbind(loc = 10, scale = 4, shape = seq(0, .4, .1)), distr = "gev") as.parameters(rbind(loc = 10, scale = 4, shape = seq(0, .4, .1)), distr = "ln3") # If no names are given, a guess is made based on number of rows # or cols according to distribution (and a warning is given). as.parameters(matrix(1:9, nr = 3), distr = "gev") as.parameters(matrix(1:8, nc = 2), distr = "gum") # The same principles apply for list input and data.frames: # List input: as.parameters(list(list(mean = 2, sd = 1), list(mean = 0, sd = 1)), distr = "norm") as.parameters(list(c(m = 2, s = 1), c(m = 0, s = 1)), distr = "norm") as.parameters(list(c(loc = 2, scale = 1), c(0, 1)), distr = "gum") ## Not run: as.parameters(list(c(loc = 2, scale = 1), c(0, 1, 2)), distr = "gum") ## End(Not run) # Dataframe input: xdat <- data.frame(station = c(1, 2), mean = c(2, 0), sd = c(1, 1)) as.parameters(xdat, cbind(mean, sd) ~ station, distr = "norm") as.parameters(xdat, . ~ station, distr = "norm") as.parameters(xdat, cbind(mean, sd) ~ ., distr = "norm") xdat <- data.frame(station = c(1, 2), m = c(2, 0), s = c(1, 1)) as.parameters(xdat, cbind(m, s) ~ station, distr = "norm") ## Not run: as.parameters(xdat, cbind(m, s) ~ station, distr = "gev") ## End(Not run) ### # Results of as.parameters can be used in the normal TLMoments-scheme: # they can be transfered to quantiles or to TLMoments. xdat <- data.frame(station = c(1, 2), mean = c(2, 0), sd = c(1, 1)) quantiles(as.parameters(xdat, cbind(mean, sd) ~ ., distr = "norm"), c(.99)) # quantile estimation p <- as.parameters(loc = 3, scale = 2, shape = .4, distr = "gev") quantiles(p, c(.9, .95)) p <- as.parameters(cbind(loc = 10, scale = 4, shape = seq(0, .4, .1)), distr = "gev") quantiles(p, c(.9, .95)) p <- as.parameters(list(list(mean = 2, sd = 1), list(mean = 0, sd = 1)), distr = "norm") quantiles(p, c(.95, .975)) # With magrittr library(magrittr) as.parameters(loc = 3, scale = 2, shape = .4, distr = "gev") %>% quantiles(c(.9, .99))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.