Archive

Un aperçu du langage de programmation GNU R

Un aperçu du langage de programmation GNU R

Introduction

Le but de cet article est de fournir un aperçu du langage de programmation GNU R. Il commence une série d'articles consacrés à la programmation avec R. Son objectif est de présenter, d'une manière organisée et concise, les composantes élémentaires du langage de programmation R. Il est conçu pour vous aider à comprendre le code R et à écrire le vôtre. On suppose que le lecteur a déjà une connaissance de programmation de base de R. Si vous n'êtes pas familier avec l'une des fonctionnalités R, il est recommandé de lire d'abord un tutoriel rapide sur les opérations de base, les fonctions et les structures de données.

Expressions

Un R expression est un composant élémentaire du code R. L'expression en r peut être:

Exemples d'expressions R:

> y if (1 == 1) 1 else 0 [1] 1> 100/5 [1] 20

L Expression est construite à partir d'objets ou de fonctions. Il est courant de les séparer avec une nouvelle ligne, cependant, vous pouvez également séparer les expressions avec des demi-colons comme ci-dessous.

 > "LinuxConfig.org "; sin (pi); 5 ^ 7 [1]" LinuxConfig.org "[1] 1.224647E-16 [1] 78125

Objets

Un R objet peut être considéré comme un composant élémentaire («chose») du langage de programmation R. Par exemple, les objets R sont:

Exemples d'objets dans R:

> C (1,5,2,7,9,0) [1] 1 5 2 7 9 0> C ("Tutoriel de programmation GNU R", "LinuxCareer.com ") [1]" Tutoriel de programmation GNU R "" LinuxCareer.com "> list (" gnu r Programming tutoial ", c (1: 5)," Ceci est aussi un objet dans r ") [[1]] [1]" GNU R Programming tutoial "[[2]] [1 ] 1 2 3 4 5 [[3]] [1] "Ceci est également un objet dans r"> fonction (a, b) a / b function (a, b) a / b

Symboles

UN symbole en R est un nom variable. Donc, si vous affectez un objet à un nom de variable, vous attribuez réellement un objet à un symbole. Un environnement En R, alors, est un ensemble de tels symboles qui sont créés dans un but donné.

Exemple de symboles dans R:

> x y<-"R tutorial"

Ci-dessus, x et y sont des symboles.

Les fonctions

UN fonction en R est un objet qui prend comme arguments d'autres objets et renvoie un objet en conséquence. Saviez-vous que l'opérateur d'affectation '<-' is a function in R? You can instead of writing

> A<-1

appel '<-' function with arguments 'a' and '1' as indicated below

> '<-'(a,1)

Quelques exemples de fonctions dans R comprennent:

Exemples de fonctions dans R:

> '+' (1,1) [1] 2> 'if' (1> 3, "un supérieur à trois", "un de moins de trois") [1] "un moins de trois"> '[' ((" A, 1) [1] 1

Autres propriétés du langage r

Les objets sont immuables en r

En r objets sont immuables. Cela signifie que r copiera l'objet et non seulement une référence à l'objet. Considérez l'exemple suivant. Nous définissons une fonction qui définit le ième élément du vecteur «x» à 4 comme ci-dessous

> f<-function(x,i)x[i]<-4

Voyons ce qui se passe si nous définissons un vecteur «w» et le faisons comme argument à la fonction «f».

> w f (w, 1)> w [1] 1 3 6 7

Ce que nous venons d'obtenir ci-dessus, c'est que le vecteur `` w '' a été copié lorsqu'il a été transmis à la fonction afin que la fonction ne modifie pas ce vecteur.

Tout en r est un objet

Tout en r est un objet. Les objets ne sont pas seulement définis pour stocker les données comme dans le cas des vecteurs, des listes ou d'autres structures de données. D'autres exemples d'objets en R sont des fonctions, des symboles ou des expressions R. Par exemple, les noms de fonction dans R sont des objets symboles qui pointent vers des objets de fonction comme indiqué ci-dessous

> fonctionname functionname function (x, y) x + y

Valeurs spéciales en r

Il y a un certain nombre de valeurs spéciales utilisées dans r. Ceux-ci sont:

Coercition

R contraint souvent les valeurs d'un type à un autre. Par exemple, lorsque vous appelez une fonction avec un argument d'un mauvais type, R essaiera de convertir cet argument en un type différent afin que la fonction puisse fonctionner. Un autre exemple peut être lorsque nous définissons un vecteur avec des valeurs numériques, R lui attribuera un type «entier» comme ci-dessous

> x typeof (x) [1] "entier"

Maintenant, lorsque nous modifions l'élément en dehors du vecteur «x» à quatre, R modifiera automatiquement le type de vecteur en «double» comme indiqué ci-dessous

> x [4] typeof (x) [1] "double"

L'interprète R

Un interprète est un programme qui exécute le code écrit. Il n'est pas nécessaire de compiler le code R dans une langue d'objet comme dans le cas de C, C ++ ou Java. Cela signifie que R est une langue interprétée.

R interprète évalue les expressions R en quelques étapes. Tout d'abord, il analyse une expression en le transformant en une forme fonctionnelle appropriée. Appelons le citation() fonction pour voir comment cela se produit.

> typeof (citation (if (1> 3) "un est supérieur à trois" else "un est inférieur à trois")) [1] "langue"

L'expression R ci-dessus a renvoyé un objet «langue». Pour voir comment R évalue une expression, nous produisons un arbre d'analyse.

> as (citation (if (1> 3) "un est supérieur à trois" else "un est inférieur à trois"), "list") [[1]] 'if' [[2]] 1> 3 [[[[[[[[[[ 3]] [1] "L'un est supérieur à trois" [[4]] [1] "L'un est moins de trois"

Appliquons également le Type de() fonctionne aux éléments de cette liste, qui montre comment l'expression est interprétée par R.

> lapply (citation (if (1> 3) "un est supérieur à trois" else "un est inférieur à trois"), typeof) [[1]] [1] "symbole" [[2]] [1] " langue "[[3]] [1]" caractère "[[4]] [1]" caractère "

Comme vous pouvez le voir certaines parties du si déclaration où je ne suis pas inclus dans l'expression analysée. C'est le autre élément. De plus, il est intéressant de noter que le premier élément de la liste est un symbole, qui pointe vers le si() fonction. Même si la syntaxe pour le si L'instruction diffère de l'appel de la fonction, l'interpréteur R traduit l'expression dans l'appel de fonction avec le nom de la fonction comme son premier argument et d'autres arguments comme dans la liste ci-dessus.

Conclusion

Cet article est une introduction au langage de programmation R. Dans les prochains articles, nous nous concentrerons en détail sur les éléments définis ici de la langue R.


Série de tutoriels GNU R:

Partie I: Tutoriels d'introduction à GNU R:

  1. Introduction à GNU R sur le système d'exploitation Linux
  2. Exécution de GNU R sur le système d'exploitation Linux
  3. Un tutoriel rapide sur les opérations de base, les fonctions et les structures de données
  4. Un tutoriel rapide sur les modèles et graphiques statistiques
  5. Comment installer et utiliser des packages dans GNU R
  6. Construire des packages de base à GNU R

Partie II: Langue Gnu r:

  1. Un aperçu du langage de programmation GNU R
étape de chargement de la bouffée 1.5 Erreur Top 10
étape de chargement de la bouffée 1.5 Erreur 15 Le message d'erreur n'indique pas nécessairement que vous avez détruit un MBR (enregistrement de démar...
Page manuelle de la queue
Nom Tail - Sortie La dernière partie des fichiers Synopsis Tail [Option]… [Fichier]… Description Imprimer les 10 dernières lignes de chaque fichier ve...
Comment cloner les autorisations à partir d'un autre fichier ou répertoire sur Linux
Comment cloner les autorisations de fichiers à partir d'un autre fichier sur Linux...