Table des matières:
- Comment R définit l'infini
- Pas un nombre.
- Si vous voulez tester si une valeur est NA, vous pouvez utiliser is. Fonction na (), comme suit: >> est. na (x) [1] TRUE
Vidéo: LE MATIN DES MAGICIENS (AUDIOBOOK) - JACQUES BERGIER + LOUIS PAUWELS - PARTIE 1 2025
Heureusement, R peut traiter des anomalies de données qui perturbent d'autres plateformes statistiques. Par exemple, dans certains cas, vous n'avez pas de valeurs réelles à calculer avec. Dans la plupart des ensembles de données réels, il manque au moins quelques valeurs. En outre, certains calculs ont un résultat infini (comme une division par zéro) ou ne peuvent pas être réalisés du tout (comme prendre le logarithme d'une valeur négative).
Comment R définit l'infini
Pour commencer à explorer l'infini dans R, voyez ce qui se passe quand vous essayez de diviser par zéro: >> 2/0 [1] Inf
R vous dit correctement que le résultat est Inf, ou l'infini. L'infini négatif est indiqué par -Inf. Vous pouvez utiliser Inf comme vous utilisez un nombre réel dans les calculs: >> 4 - Inf [1] -Inf
Pour vérifier si une valeur est finie, utilisez les fonctions. fini () et est. infini(). La première fonction renvoie TRUE si le nombre est fini; la seconde renvoie VRAI si le nombre est infini.
R considère tout ce qui est plus grand que le plus grand nombre qu'un ordinateur peut contenir pour être infini - sur la plupart des machines, c'est environ 1. 8 × 10
308. Cette définition de l'infini peut conduire à des résultats inattendus, comme indiqué dans l'exemple suivant: >> is. fini (10 ^ (305: 310)) [1] VRAI VRAI VRAI VRAI FAUX FAUX Que signifie cette ligne de code maintenant? Voyez si vous comprenez l'imbrication et la vectorisation dans cet exemple. Si vous divisez la ligne en commençant par les parenthèses intérieures, cela devient compréhensible:
Vous savez déjà que 305: 310 vous donne un vecteur, contenant les entiers de 305 à 310.
Tous les opérateurs sont vectorisés, donc 10 ^ (305: 310) vous donne un vecteur avec les résultats de 10 à la puissance de 305, 306, 307, 308, 309 et 310.
Ce vecteur est donné comme argument à is. fini(). Cette fonction vous indique que les deux derniers résultats - 10 ^ 308 et 10 ^ 309 - sont infinis pour R.-
Comment R traite des résultats indéfinis
-
Votre professeur de mathématiques a probablement expliqué que si vous divisez un nombre réel par l'infini, vous obtenez zéro. Mais que faire si vous divisez l'infini par l'infini? >> Inf / Inf [1] NaN
-
Eh bien, R vous dit que le résultat est NaN. Ce résultat signifie simplement
Pas un nombre.
C'est la façon de R de vous dire que le résultat de ce calcul n'est pas défini.
Le plus drôle est que R considère que NaN est numérique, donc vous pouvez utiliser NaN dans les calculs. Le résultat de ces calculs est toujours NaN, comme vous pouvez le voir ici: >> NaN + 4 [1] NaN
Vous pouvez tester si un calcul aboutit à NaN en utilisant is.Fonction nan (). Notez que les deux sont. fini () et est. infinite () retourne FALSE lorsque vous testez sur une valeur NaN. Comment R gère les valeurs manquantes L'un des problèmes les plus courants dans les statistiques est celui des ensembles de données incomplets. Pour gérer les valeurs manquantes, R utilise le mot clé réservé NA, qui correspond à
Non disponible.
Vous pouvez utiliser NA comme une valeur valide, donc vous pouvez également l'affecter comme valeur: >> x <- nA
Vous devez cependant prendre en compte que les calculs avec une valeur de NA renvoie aussi généralement NA par conséquent: >> x + 4 [1] NA> log (x) [1] NA
Si vous voulez tester si une valeur est NA, vous pouvez utiliser is. Fonction na (), comme suit: >> est. na (x) [1] TRUE
Notez que le est. La fonction na () renvoie aussi TRUE si la valeur est NaN. Les fonctions sont. fini (), est. infini (), et est. nan () retourne FALSE pour les valeurs NA. Fonction Inf
-Inf
NaN
NA
est. fini ()
FALSE
FALSE
FALSE | FALSE | est. infini () | TRUE | TRUE |
---|---|---|---|---|
FALSE | FALSE | est. nan () | FALSE | FALSE |
TRUE | FALSE | est. na () | FALSE | FALSE |
TRUE | TRUE |
![]() |