# R-Code zu Blatt 2 Aufgabe 1b) ## Paket um slider fuer Korrelationskoeffizienten zu erstellen library(manipulate) ## Funktion zum Erstellen von Perspektivplots nv2.3d <- function(sigma1,sigma2,rho, phi, theta){ library(mvtnorm) #Definitition von Erwartungswert (0,0) und Kovarianzmatrix mu <- rep(0,2) Sigma <- matrix(c(sigma1^2,rho*sigma1*sigma2,rho*sigma1*sigma2,sigma2^2),ncol=2,nrow=2) #Definition eines Grids von Werten zur Berechnung der Dichte x1 <- x2 <- seq(-5,5,0.25) grid <- expand.grid(x1,x2) fvals <- matrix(dmvnorm(grid,mean=mu,sigma=Sigma),ncol=length(x1),nrow=length(x2)) #3-dimensionaler Plot der Dichte persp(x=x1,y=x2,z=fvals,ticktype="detailed",xlab="x_1",ylab="x_2",phi=phi,theta=theta) title(main=paste("sigma1=",as.character(sigma1), ", sigma2=",as.character(sigma2), ", rho=",as.character(rho))) } ## Funktion zum Erstellen von Contourplots nv2.contour <- function(sigma1,sigma2,rho){ library(mvtnorm) #Definitition von Erwartungswert (0,0) und Kovarianzmatrix mu <- rep(0,2) Sigma <- matrix(c(sigma1^2,rho*sigma1*sigma2,rho*sigma1*sigma2,sigma2^2),ncol=2,nrow=2) #Definition eines Grids von Werten zur Berechnung der Dichte x1 <- x2 <- seq(-5,5,0.25) grid <- expand.grid(x1,x2) fvals <- matrix(dmvnorm(grid,mean=mu,sigma=Sigma),ncol=length(x1),nrow=length(x2)) #Plot der Hoehenlinien contour(x=x1,y=x2,z=fvals,xlab="x_1",ylab="x_2") title(main=paste("sigma1=",as.character(sigma1), ", sigma2=",as.character(sigma2), ", rho=",as.character(rho))) } ######## manipulate(nv2.3d(sigma1 = 1,sigma2 = 3, rho, phi, theta), rho = slider(-.9,.9,step=0.1), phi = slider(0,90,step=10), theta = slider(0,90,step=10)) manipulate(nv2.contour(sigma1,sigma2, rho), rho = slider(-.9,.9,step=0.1),sigma1 =slider(0.5,4,step=0.5), sigma2 = slider(0.5,4,step=0.5))