
Opa, ali na sua parte de Simulação da amostra, veja que eu crio uma matriz de tamanho n*n, dai vou realizando sua simulação e guardando nela. Da pra otimizar isso usando apply, se colocar o seu codigo da simulação dentro de uma função, mas colocar outro for é relativamente mais simples. Basta a cada iteração, guardar sua simulação, uma linha de tamanho n da matriz, na matriz que você criou. Veja que agora cada linha da matriz saida é uma simulação. ## Tamanho da Amostra n=10 ## Parâmetros 1 a <- c(4.5,1.5) b <- c(3.0,9.0) p <- c(0.5,0.5) ## Função Acumulada Inversa fmenos1_kuma = function(x,a,b){ (1-(1-x)^(1/b))^(1/a) } ## Mistura mkuma = function(x){ (a[1]*b[1]*(x^(a[1]-1))*(1-x^a[1])^(b[1]-1))*p[1] + (a[2]*b[2]*(x^(a[2]-1))*(1-x^a[2])^(b[2]-1))*p[2] } ## Simulação da amostra #Crie uma matriz para receber os dados saida<-matrix(NA,n,n) saida for(j in 1:n) { u1 <- runif(n) u2 <- runif(n) x <- numeric(n) for (i in 1:n){ if(u1[i] < p[1]) x[i]= fmenos1_kuma(u2[i],a[1],b[1]) if(u1[i] >= p[1]) x[i]= fmenos1_kuma(u2[i],a[2],b[2]) } saida[,j]<-x } saida Espero ter ajudado. Se não for fazer muitas simulações isso deve resolver :) Em 19 de novembro de 2014 15:23, Thiago Touya <thiagotouya@gmail.com> escreveu:
Boa tarde!
Senhores, peço sua ajuda para criar um código que gere um número 'n' de amostras de tamanho 'n'.
Atualmente, consigo fazer apenas uma amostra de tamanho 'n', mas gostaria de fazer de um modo prático a geração de outras 'n-1' amostras. No final gostaria de armazenar tudo numa matriz 'nxn'.
Segue o código que estou usando para a geração de uma amostra:
## Tamanho da Amostra n=100
## Parâmetros 1 a <- c(4.5,1.5) b <- c(3.0,9.0) p <- c(0.5,0.5)
## Função Acumulada Inversa fmenos1_kuma = function(x,a,b){ (1-(1-x)^(1/b))^(1/a) }
## Mistura mkuma = function(x){ (a[1]*b[1]*(x^(a[1]-1))*(1-x^a[1])^(b[1]-1))*p[1] + (a[2]*b[2]*(x^(a[2]-1))*(1-x^a[2])^(b[2]-1))*p[2] }
## Simulação da amostra u1 <- runif(n) u2 <- runif(n) x <- numeric(n) for (i in 1:n){ if(u1[i] < p[1]) x[i]= fmenos1_kuma(u2[i],a[1],b[1]) if(u1[i] >= p[1]) x[i]= fmenos1_kuma(u2[i],a[2],b[2]) }
O que eu pensei em fazer foi adicionar um outro 'For' no passo da simulação da amostra, mas não consegui alimentar um objeto 'y' com os valores gerados para cada amostra.
Obrigado.
-- Att, Thiago Morais de Carvalho (61 - 8169-5094)
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Grato Augusto C. A. Ribas Site Pessoal: http://recologia.com.br/ <http://augustoribas.heliohost.org> Github: https://github.com/Squiercg Lattes: http://lattes.cnpq.br/7355685961127056