réglage des limites supérieure et inférieure en standard
Je suis la simulation de données à l'aide de rnorm, mais j'ai besoin de fixer une limite supérieure et inférieure, personne ne sait comment faire cela?
code:
rnorm(n = 10, mean = 39.74, sd = 25.09)
Limite supérieure doit être 340, et la limite inférieure 0
Je pose cette question parce que je suis la réécriture d'une SAS-code dans un R-code. Je n'ai jamais utilisé SAS.
Je suis en train de réécrire le morceau de code suivant:
sim_sample(simtot=100000,seed=10004,lbound=0,ubound=340,round_y=0.01,round_m=0.01,round_sd=0.01,n=15,m=39.74,sd=25.11,mk=4)
source d'informationauteur Jolanda Kossakowski
Vous devez vous connecter pour publier un commentaire.
Comme ça?
Cependant, le résultat est pas normal distribués et, habituellement, de ne pas avoir la moyenne et de la sd que vous avez spécifié (en particulier si les limites ne sont pas symétrique autour de la moyenne spécifiée).
Edit:
En fonction de votre commentaire, il semble que vous voulez traduire cette fonction SAS. Je ne suis pas un utilisateur SAS, mais il doit faire plus ou moins la même:
Vous pouvez ensuite utiliser
replicate
pour exécuter les simulations. Ou si vous voulez plus rapide code:La rtruncnorm() la fonction retourne les résultats dont vous avez besoin.
Vous pouvez faire votre propre normale tronquée échantillonneur qui ne vous obligent pas à jeter des observations tout simplement
En supposant que vous voulez exactement 10 numéros et de ne pas le sous-ensemble d'entre eux qui est >0, <340 (et la nuit pas une distribution normale):
C'est la fonction que j'ai écrit pour atteindre le même but. Il normalise le résultat de la
rnorm
la fonction, puis de l'ajuster pour s'adapter à la gamme.REMARQUE: L'écart-type et la moyenne (si spécifié) être modifié pendant le processus de normalisation.