Comment peut-on assigner des valeurs à des variables? R reconnait les valeurs numériques telles qu'elles sont.
3
2
Toutesfois, il existe d'autres variables numériques écrites en caractère. Par exemple, $\pi$. lorsqu'on saisit pi
dans R, il nous redonne la valeur numérique (arrondie) de $\pi$
pi
Ce sont des variables déjà existantes dans R
. Si l’on voulait chercher des valeurs non existantes dans R, ce dernier nous retourne un message d'erreur;
x
On peut assigner une valeur à une variable de différentes manières;
x=2
x
y=3
y
x<-2
x
y<-3
Nous avons donné la valeur 2 à $x$ et la valeur 3 à $y$. Ces valeurs sont gardées en mémoire, on peut d'ailleurs faire des opérations mathématiques sur ces valeurs. Par exemple on veut $$x+y$$
x+y
Si l’on voulait appliquer, un calcule sur une variable que nous n'y avons pas assigner une valeur auparavant, cela ne fonctionnerait pas, puisque R ne l'a pas gardé en mémoire.
z+1
Rappelons-nous que R est case sensitive, par exemple:
X
Nous avons essayé d'appeler $X$, mais il nous retourne un message d'erreur. Cela est dû à cause la majuscule.
nous avions donné à x la valeur x<-2
et y<-3
print(x)
print(y)
Nous pouvons écraser la valeur de x en lui assignant la valeur de y;
x<-y
print(x)
print(y)
Soit maintenant $z=9$, on peut aussi faire ceci:
x<-y<-z<-9
print(x)
print(y)
print(z)
Remarquez que R commence toujours par la fin, la valeur 9 a été assignée à toutes les variables.
15 ->p
Toutefois, nous restons dans la convention et utilisons la flèche vers la gauche
Nous pouvons aussi utliliser la fonction assign()
assign(x, value, pos = -1, envir = as.environment(pos),
inherits = FALSE, immediate = TRUE)
assign("q",30)
q
Cette fonction est souvent utilisée à l'intérieur d'une boucle où l’on voudrait assigner une valeur quelconque à une variable qui peut changer lors des itérations
num<-25
string<-"bonjour"
booleen<-TRUE
On peut appeler la variable string
et elle nous retourne ceci:
string
Afin de donner une valeur de type string à une variable, on peut utiliser les doubles 'apostrophes', ou des "guillemets"
On peut assigner une valeur booléenne à une variable par TRUE
ou FALSE
, mais aussi par simplement T
ou F
booleen2 <-T
booleen2
Il est possible de savoir quel type possède une variable gardée en mémoire
class(string)
class(booleen)
class(num)
On peut aussi faire un test booléen sur le type d'une variable par
is.numeric(variable)
is.logical(variable)
is.character(variable)
is.logical(num)
is.numeric(num)
On peut aussi changer le type d'une variable
as.character(num)
Remarquons les apostrophes. Toutefois, il faut faire attention avec les conversions; essayons de convertir un string en numeric
# as.numeric(string)
Nous obtenons NA
(not available). Car R ne sait pas comment traduire cette variable de type string en numeric.
Toutefois, il est possible de changer des booléens vers numérique.
- TRUE=T=1
- FALSE=F=0
as.numeric(booleen)
On peut aussi faire un test booléen sur deux valeurs. Par exemple, on peut demander si une valeur est plus petite ou égale (ou supérieure ou égale) à une autre variable.
num<100
num<=100
num>=100
Le test sur l'égalité se fait par un double ==
x==y
x==num
Pour ce qui est du test d'inégalité, on utilise !=
x!=y
x!=num
On peut aussi faire des tests logiques sur les valeurs de type string
string2<-"bonjours"
string==string2
string!=string2
Voici un lien