% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/smth.R
\name{smth}
\alias{smth}
\alias{sma}
\alias{ema}
\alias{dema}
\alias{wma}
\alias{gaussian}
\title{Smooth Numerical Data}
\usage{
smth(
  x = stop("Numeric Vector 'x' is Required"),
  method = getOption("smoother.method"),
  ...
)
}
\arguments{
\item{x}{numeric vector of values to smooth}

\item{method}{one of \code{'gaussian', 'sma', 'ema', 'dema'} or \code{'wma'}.}

\item{...}{any other arguments to be passed to each specific smoothing methodology.}
}
\value{
a numeric vector of same length as input \code{'x'} vector
}
\description{
Helper function to smooth numerical data using methods specified by the user.
}
\details{
At this moment in time, the only method is the \code{'gaussian'} window function (similar to the Matlab 
Gaussian Window Smoothing Function) and a number of moving averages \code{'sma', 'ema', 'dema'} or \code{'wma'}. 
These are functions that allows the user to smooth an input vector, returning vector of the same length as the input. 
This can also be achieved using the specific \code{\link{smth.gaussian}} function.
}
\examples{
#Prepare Data
n  = 1000
x  = seq(-pi,pi,length.out=n)
y  = sin(x) + (runif(length(x))*0.1) #NOISY DATA
ys = smth(y,window = 0.1,method = "gaussian") #SMOOTHING
plot(x,y,type="l",col="red")
lines(x,ys,col="black",lwd=3)
title("Example Smoothing of Noisy Data")
}
\references{
If the \code{'method'} argument is equal to \code{'gaussian'}, then this function is a port of the function 
described here: \url{https://goo.gl/HGM47U}, very loosly based of code which has also been ported to c++ elsewhere
}
\seealso{
Refer to specific man files: \code{\link{smth.gaussian}}, \code{\link[TTR]{SMA}}, \code{\link[TTR]{EMA}}, 
\code{\link[TTR]{DEMA}} or \code{\link[TTR]{WMA}}
}
