Les vecteurs : vector
Table des matières
Code R :
a <- c(1,3,4.5,-5,2) # Vecteur numerique b <- c("A","B","CD") # Vecteur de texte c <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE) #Vecteur logique
Vecteurs num?riques
Pour cr?er un vecteur nomm? x , par exemple, compos? de cinq chiffres, ? savoir 10.4, 5.6, 3.1, 6.4 et 21.7, utilisez la commande R
Code R :
X <- c(10.4, 5.6, 3.1, 6.4, 21.7)
La fonction c() est une instruction d'affectation.
Vecteurs num?riques et arithm?tiques
Les op?rateurs arithm?tiques ?l?mentaires sont : + (addition), - (soustraction), * (multiplication), / (division) et ^ (pour ?lever ? une puissance).
Les fonctions arithm?tiques courantes sont:
Code R :
log(x) #Logarithme n?p?rien de x exp(x) #Exponentiel de x sin(x) #Sinus de x cos(x) #Cosinus de x tan(x) #Tangente de x sqrt(x) #Racine carr? de x max(x) #Maximum du vecteur x min(x) #Minimum du vecteur x range(x) #renvoie un vecteur de longueur 2 contenant le minimum et le maximum de x sous la forme c(min(x), max(x)) length(x) #Nombre d'?l?ments dans x sum(x) #Donne le total des ?l?ments de x prod(x) #Donne le produit des ?l?ments de x. mean(x) #Calcule la moyenne de l'?chantillon, qui est la m?me que sum(x)/length(x) var(x) #Variance de x sort(x) # trie les ?l?ments de X dans l'ordre croissant; voir ?galement order() et sort.list();
G?n?ration de s?quences r?guli?res
Code R :
1:10 # g?n?ration d'une s?quence de 10 valeurs : c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 10:1 # g?n?re la m?me s?quence que pr?c?demment mais ? l'envers : c(10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
On peut ?galement utiliser la fonction seq() et donc seq(1,10) et seq(from=1, to=10) sont identiques ? 1:10.
Code R :
seq(1, 10, by=2) # g?n?re la s?quence c(1, 3, 5, 7, 9) avec un pas de 2 ? chaque fois entre les chiffres.
une fonction connexe est la fonction rep();
Code R :
s<-rep(x, times=5) #mettra cinq copies de x de bout en bout dans s s<-rep(x, each=5)#rep?te cinq fois chaque ?l?ment de x
Vecteurs logiques
Les ?l?ments d'un vecteur logique peuvent avoir les valeurs TRUE , FALSE , et NA (pour "Not available" , en fran?ais "Non disponible"). Les deux premi?res sont souvent abr?g?es en T et F , respectivement.
Les vecteurs logiques sont g?n?r?s par les conditions telles que :
Code R :
temp <- x> 13
Le code ci-dessous d?finit temp en tant que vecteur de la m?me longueur que x avec des valeurs FALSE correspondant ? des ?l?ments de x o? la condition n'est pas remplie et TRUE o? elle l'est.
Les op?rateurs logiques sont:
Code R :
< #(inf?rieur) <= #(inf?rieur ou ?gal) > #sup?rieur >= #sup?rieur ou ?gal == #pour l'?galit? exacte != #pour l'in?galit? (diff?rent)
De plus, si c1 et c2 sont des expressions logiques, alors c1 & c2 est leur intersection (?et?), c1 | c2 est leur union (?ou?), et !c1 est la n?gation de c1 .
Les vecteurs de chaines de caract?res
Les cha?nes de caract?res sont entour?es par des guillemets simple (') ou double (").
Code R :
x<-c("A", "B", "C")
Les valeurs manquantes
Les valeurs manquantes sont design?es par NA (Not available)
La fonction is.na(x) donne un vecteur logique de la m?me taille que x ayant une valeur TRUE si et seulement si l'?l?ment correspondant dans x est NA .
Code R :
Z <- c(1:3, NA); ind <- is.na (z) na.omit(z) # exclue les valeurs manquantes dans le vecteur z
Notez qu'il existe un deuxi?me type de valeurs manquantes : NaN (Not a Number).
Les NaN sont produits par les calculs num?riques de type:
Code R :
0/0 # z?ro divis? par z?ro
En r?sum?, is.na(xx) est TRUE ? la fois pour les valeurs NA et NaN. Pour diff?rencier ceux-ci, is.nan(xx) est seulement TRUE pour les valeurs NaN
Les vecteurs d'Indices; S?lection et modification d'un sous-ensemble de donn?es
Une indice correspond ? la position ou au rang d'un ?l?ment d'un vecteur donn?. Pour acc?der ? un ?l?ment d'un vecteur il faut mettre son rang entre crochet.
Par exemple:
Code R :
x<-c("A","B", "C", "G") # soit x un vecteur de longueur 4. x[3] #correspond ? l'?l?ment de x de rang 3 donc C x[c(1,4)] # correspondent aux ?l?ments de x de rang 1 et 4 : A et G
Un vecteur d'indices est un ensemble d'indices
Les vecteurs d'indices peuvent ?tre de 4 types.
1. Un vecteur logique. Dans ce cas, le vecteur d'indice doit ?tre de la m?me longueur que le vecteur de donn?es ? partir duquel les ?l?ments doivent ?tre s?lectionn?s. Les valeurs correspondant ? TRUE dans le vecteur indice sont s?lectionn?es et celles correspondant ? FALSE sont omises. Par exemple:
Code R :
y<- x[!is.na (x)] #Cr?e (ou recr?e) un objet y qui contiendra les valeurs non manquantes de x , dans le m?me ordre
Notez que si x a des valeurs manquantes, y sera plus court que x.
Deuxi?me exemple:
Code R :
z<- x[!is.na(x) & x>0] #Cr?e un ?l?ment z contenant les valeurs non manquantes et positives de x
2.Un vecteur d'indices positives.
Code R :
x[1:10] #S?lectionne les 10 premiers ?l?ments de x (en supposant que length(x) n'est pas inf?rieure ? 10)
3.Un vecteur d'indices n?gatives.
Code R :
y <- x[-(1:5)] #Cr?e un vecteur y contenant toutes les valeurs sauf les cinq premi?res de x
4.Un vecteur de cha?nes de caract?res..
Cette possibilit? ne s'applique que lorsqu'un objet a un attribut names permettant d'identifier ses composantes. Dans ce cas on peut acc?der aux ?l?ments du vecteur de donn?es par leurs noms.
Code R :
fruits<- c(5, 10, 1, 20) names(fruits) <- c("orange", "banane", "pomme", "p?che") #attribut un nom ? chacun des 4 ?l?ments du vecteur fruits dejeuner<-fruits [c("pomme", "orange")]# cr?e un vecteur dejeuner contenant les ?l?ments de noms pomme et orange
L'avantage est que les noms alphanum?riques sont souvent plus faciles ? retenir que des indices num?riques. Cette option est particuli?rement utile dans le cadre data.frame, comme nous le verrons plus tard.
On peut se servir ?galement des indices pour modifier un vecteur.
Par exemple:
Code R :
x[is.na (x)] <- 0 #Remplace toutes les valeurs manquantes dans x par des z?ros
? Cours pr?c?dent
Notion d'objets et enregistrement de l'espace de travail
Cours suivant ?
Les facteurs : factor
Enjoyed this article? I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Twitter, Facebook or Linked In.
Show me some love with the like buttons below... Thank you and please don't forget to share and comment below!!
Show me some love with the like buttons below... Thank you and please don't forget to share and comment below!!
Avez vous aimé cet article? Je vous serais très reconnaissant si vous aidiez à sa diffusion en l'envoyant par courriel à un ami ou en le partageant sur Twitter, Facebook ou Linked In.
Montrez-moi un peu d'amour avec les like ci-dessous ... Merci et n'oubliez pas, s'il vous plaît, de partager et de commenter ci-dessous!
Montrez-moi un peu d'amour avec les like ci-dessous ... Merci et n'oubliez pas, s'il vous plaît, de partager et de commenter ci-dessous!
Recommended for You!
Get involved :
Click to follow us on Facebook:
Comment this article by clicking on "Discussion" button (top-right position of this page)
Click to follow us on Facebook:
Comment this article by clicking on "Discussion" button (top-right position of this page)