Fonction runif() de R - Générer des nombres aléatoires uniformément distribués
La fonction runif() de R est utilisée pour générer des nombres aléatoires qui suivent une loi uniforme.
Une distribution uniforme signifie que chaque valeur dans un intervalle spécifié a une probabilité égale de se produire. Elle est souvent utilisée comme distribution de base dans les expériences d'échantillonnage aléatoire et de simulation.
La syntaxe de la fonction runif() est la suivante :
runif(n, min = 0, max = 1)
Description du paramètre :
nLe nombre de nombres aléatoires à générer.
minValeur minimale, la valeur par défaut est 0.
maxValeur maximale, la valeur par défaut est 1.
Exemple
# Générer 10 nombres aléatoires uniformément distribués dans l'intervalle [0, 1]
set.seed(123)
random_01 <- runif(10)
print("Nombres aléatoires dans l'intervalle [0, 1] :")
print(round(random_01, 4))
# Générer des nombres aléatoires dans l'intervalle [10, 50]
set.seed(123)
random_range <- runif(10, min = 10, max = 50)
print("Nombres aléatoires dans l'intervalle [10, 50] :")
print(round(random_range, 2))
set.seed(123)
random_01 <- runif(10)
print("Nombres aléatoires dans l'intervalle [0, 1] :")
print(round(random_01, 4))
# Générer des nombres aléatoires dans l'intervalle [10, 50]
set.seed(123)
random_range <- runif(10, min = 10, max = 50)
print("Nombres aléatoires dans l'intervalle [10, 50] :")
print(round(random_range, 2))
L'exécution du code ci-dessus produit le résultat suivant :
[1] "[0, 1] 区间随机数:" [1] 0.2876 0.7883 0.4090 0.8830 0.9405 0.0456 0.5281 [8] 0.8924 0.5519 0.4566 [1] "[10, 50] 区间随机数:" [1] 21.50 41.53 26.36 45.32 47.62 11.82 31.12 45.70 [9] 32.08 28.26
runif() est très utile dans les simulations de Monte Carlo :
Exemple
# Utiliser la méthode Monte Carlo pour estimer la valeur de pi
set.seed(123)
n <- 10000
# Générer des points aléatoires
x <- runif(n)
y <- runif(n)
# Calculer la proportion de points tombant à l'intérieur du cercle unité
à l'intérieur <- (x^2 + y^2) <= 1
pi_estimate <- 4 * mean(inside)
print(paste("Valeur estimée de pi :", round(pi_estimate, 4)))
print(paste("Valeur réelle de pi :", pi))
set.seed(123)
n <- 10000
# Générer des points aléatoires
x <- runif(n)
y <- runif(n)
# Calculer la proportion de points tombant à l'intérieur du cercle unité
à l'intérieur <- (x^2 + y^2) <= 1
pi_estimate <- 4 * mean(inside)
print(paste("Valeur estimée de pi :", round(pi_estimate, 4)))
print(paste("Valeur réelle de pi :", pi))
L'exécution du code ci-dessus produit le résultat suivant :
[1] "估算的 pi 值: 3.156" [1] "实际的 pi 值: 3.14159265358979"Autres extensions
Exemples en langage R