# caso discreto RepresentacionDistribucionProbabilidadDiscreta <- function(valores, probabilidades) { win.graph() jpeg("FuncionDeCuantia.jpg") plot(valores, probabilidades, xlab="Valores de la variable", ylab="Probabilidades", type="o") dev.off() graphics.off() } ############################################################################ FuncionDistribucionDiscreta <- function(valores, probabilidades, representacion=TRUE) { longitud <- length(valores) cat("Si x < ", valores[1],", F(x) = ", 0, "\n") total = 0 for (i in 1:(longitud-1)) { total = probabilidades[i] + total cat("Si ", valores[i], " <= x < ", valores[i+1],", F(x) = ", total, "\n") } cat("Si ", valores[longitud]," <= x, F(x) = ", 1, "\n") if (representacion) { win.graph() jpeg("FuncionDistribucionDiscreta.jpg") ejey <- seq(0,1,length.out=longitud+2) ejex <- c(valores[1]-1, valores, valores[longitud]+1) plot(ejex, ejey, xlab="Valores de la variable", ylab="Probabilidades", type="n") lines(c(valores[1]-1,valores[1]),c(0,0), type="l") total = 0 for (i in 1:(longitud-1)) { total = probabilidades[i] + total lines(c(valores[i],valores[i+1]),c(total,total), type="l") } lines(c(valores[i+1],valores[i+1]+1),c(1,1), type="l") dev.off() graphics.off() } } ############################################################################ MomentosNoCentradosDiscretos <- function(valores, probabilidades, orden) { potencias <- valores^(orden) alfa <- sum(potencias*probabilidades) alfa } ############################################################################ MomentosCentradosDiscretos <- function(valores, probabilidades, orden) { media <- MomentosNoCentradosDiscretos(valores, probabilidades, 1) potencias <- (valores-media)^(orden) mu <- sum(potencias*probabilidades) mu } ############################################################################ # caso continuo RepresentarDistribucionContinua <- function(f, min, max, incremento = 0.05) { ejex <- seq(min, max, incremento) longitud <- length(ejex) ejey <- array(0, c(1,longitud)) for (i in 1:longitud) { ejey[i] <- f(ejex[i]) } win.graph() jpeg("FuncionDeDensidad.jpg") plot(ejex, ejey, main="Representación función de densidad", xlab="Valores de X", ylab="Función densidad", type="h") dev.off() graphics.off() } ############################################# IntegrarFuncion <- function(f, min, max, incremento = 0.00001) { if (min == -Inf) {min <- -1} if (max == Inf) {max <- 6} base <- seq(min, max, incremento) longitud <- length(base) altura <- array(0, c(1,longitud)) integral <- array(0, c(1,longitud)) for (i in 1:longitud) { altura[i] <- f(base[i]) integral[i] <- incremento*altura[i] } suma <- sum(integral) integral <- signif(suma, digits=3) integral } ###### MomentosNoCentradosContinuos <- function(f, min, max, orden, incremento = 0.00001) { if (min == -Inf) {min <- -1} if (max == Inf) {max <- 6} base <- seq(min, max, incremento) longitud <- length(base) altura <- array(0, c(1,longitud)) integral <- array(0, c(1,longitud)) for (i in 1:longitud) { altura[i] <- (base[i])^(orden)*f(base[i]) integral[i] <- incremento*altura[i] } suma <- sum(integral) integral <- signif(suma, digits=3) integral } ###### MomentosCentradosContinuos <- function(f, min, max, orden, incremento = 0.00001) { if (min == -Inf) {min <- -1} if (max == Inf) {max <- 6} media <- MomentosNoCentradosContinuos(f, min, max, 1) base <- seq(min, max, incremento) longitud <- length(base) altura <- array(0, c(1,longitud)) integral <- array(0, c(1,longitud)) for (i in 1:longitud) { altura[i] <- (base[i]-media)^(orden)*f(base[i]) integral[i] <- incremento*altura[i] } suma <- sum(integral) integral <- signif(suma, digits=3) integral }