[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