# posterior.GaussianNIW: Update a "GaussianNIW" object with sample sufficient... In bbricks: Bayesian Methods and Graphical Model Structures for Statistical Modeling

## Description

For the model structure:

mu,Sigma|m,k,v,S \sim NIW(m,k,v,S)

x|mu,Sigma \sim Gaussian(mu,Sigma)

Where NIW() is the Normal-Inverse-Wishart distribution, Gaussian() is the Gaussian distribution. See `?dNIW` and `dGaussian` for the definitions of these distribution.
Update (m,k,v,S) by adding the information of newly observed samples x. The model structure and prior parameters are stored in a "GaussianNIW" object, the prior parameters in this object will be updated after running this function.

## Usage

 ```1 2``` ```## S3 method for class 'GaussianNIW' posterior(obj, ss, ...) ```

## Arguments

 `obj` A "GaussianNIW" object. `ss` Sufficient statistics of x. In Gaussian-NIW case the sufficient statistic of sample x is a object of type "ssGaussian", it can be generated by the function sufficientStatistics(). `...` Additional arguments to be passed to other inherited types.

## Value

None. the gamma stored in "obj" will be updated based on "ss".

## References

Murphy, Kevin P. "Conjugate Bayesian analysis of the Gaussian distribution." def 1.22 (2007): 16.

Gelman, Andrew, et al. "Bayesian Data Analysis Chapman & Hall." CRC Texts in Statistical Science (2004).

`GaussianNIW`,`posteriorDiscard.GaussianNIW`,`sufficientStatistics.GaussianNIW`
 ```1 2 3 4 5 6 7``` ```x <- rGaussian(1000,mu = c(1,1),Sigma = matrix(c(1,0.5,0.5,3),2,2)) w <- runif(1000) obj <- GaussianNIW(gamma=list(m=c(0,0),k=1,v=2,S=diag(2))) obj ss <- sufficientStatistics_Weighted(obj = obj,x=x,w=w,foreach = TRUE) for(i in 1L:length(ss)) posterior(obj = obj,ss = ss[[i]]) obj ```