[R-br] Geração de números aleatórios com amplitude determinada
Marcos Bissoli
mbissoli em gmail.com
Segunda Julho 28 23:14:34 BRT 2014
Boa noite a todos,
Preciso gerar uma sequência de números aleatórios, de uma distribuição
normal. No entanto, a função <rnorm> não permite definir limites mínimo e
máximo para o vetor de dados. Assim, criei uma função para tal fim:
>Gerador.Aleatorio <- function(n,menor,maior,x,s)
+{
+ dados <- rnorm(n,x,s)
+ while ((min(dados)<menor)|(max(dados)>maior))
+ {
+ dados <- rnorm(n,x,s)
+ }
+ dados <- dados
+ print(dados)
+}
Onde:
- n é o número de valores que quero gerar
- menor é o limite mínimo do vetor
- maior é o limite máximo do vetor
- x é a média do vetor
- s é o desvio padrão do vetor
O problema é que, como usei um laço ("loop"), o custo de tempo
computacional dessa função tornou-a simplesmente impraticável. Até 100
valores eu consegui gerar. Mas agora tentei com 284 e já jantei, fumei,
tratei de assuntos familiares e... Nada! E minha demanda, na verdade, é
para gerar mais de 1500 valores, simulando estudo epidemiológico
observacional, a partir de valores já descritos em um estudo piloto que
realizei (ou seja, eu tenho já estimativas de n, mínimo, máximo, média e
desvio padrão).
Há alguma função, pacote ou sintaxe que torne isso possível? E qual seriam
esses "limites do custo computacional"?
Grato desde já por qualquer ajuda.
Abraços fraternos,
--
MARCOS BISSOLI
Faculdade de Nutrição
Universidade Federal de Alfenas
E-mail: mbissoli em gmail.com
Twitter: #mbissoli
Facebook: https://www.facebook.com/MarcosBissoli
Alfenas, Minas Gerais, Brasil
*****Pense na Natureza antes de Imprimir*****
Divulgue ON-LINE
Eu apoio a ENEN "na luta por um Brasil sem fome"
"por ĉiu popolo ties propran lingvon, por ĉiuj popoloj la esperantan"
(para cada povo sua própria língua, para todos os povos o Esperanto)
E nunca votarei no PSDB/DEM!
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140728/adb5d9a6/attachment.html>
Mais detalhes sobre a lista de discussão R-br