« Les données R » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
(Page créée avec « == Les données R == === Les structure de données R === Pour profiter pleinement de divers paquets il faut comprendre (a) les types de structures de données de R et (b... »)
 
mAucun résumé des modifications
Ligne 1 : Ligne 1 :
{{tutoriel}}
== Les données R ==
== Les données R ==


=== Les structure de données R ===
Pour profiter pleinement de divers paquets il faut comprendre (a) les types de structures de données de R et (b) les structures de données implémentés par divers paquets et (c) comment passer d'une structure à l'autre et finalement (d) comment lire des données depuis des fichiers ou d'autres sources.


Pour profiter pleinement de divers paquets il faut comprendre (a) les types de structures de données de R et (b) les structures de données implémentés par divers paquets et (c) comment passer d'une structure à l'autre (et les dégats que cela peut faire ...).
Plusieurs paquets utilisent des simples structures de données de base comme les vecteurs ou les matrices. D'autres utilisent des structures plus sophistiqués


Plusieurs paquets utilisent des simples structures de données de base comme les vecteurs ou les matrices. D'autres utilisent des structures plus sophistiqués
== Les structure de données R ==
 
Il existe 6 types de données simples, c-a-d le type de valeurs que l'on peut mettre dans un vecteur: "logical", "integer", "double", "complex", "character", "raw".


Vous pouvez enregistrer chaque object R dans
; Comment savoir le type d'une donnée ?
: Note lorsqu'on utilise cette fonction avec un vecteur, le résultat montre pas "vector", mais le type de données utilisées
: Utilisez la fonction <code>typeof</code>
: typeof (truc)


=== Les vecteurs ===
=== Les vecteurs ===
Ligne 231 : Ligne 238 :


=== Autres ===
=== Autres ===
== Lire et écrire des données ==

Version du 19 novembre 2014 à 17:55

Les données R
2014/11/19


Les données R

Pour profiter pleinement de divers paquets il faut comprendre (a) les types de structures de données de R et (b) les structures de données implémentés par divers paquets et (c) comment passer d'une structure à l'autre et finalement (d) comment lire des données depuis des fichiers ou d'autres sources.

Plusieurs paquets utilisent des simples structures de données de base comme les vecteurs ou les matrices. D'autres utilisent des structures plus sophistiqués

Les structure de données R

Il existe 6 types de données simples, c-a-d le type de valeurs que l'on peut mettre dans un vecteur: "logical", "integer", "double", "complex", "character", "raw".

Comment savoir le type d'une donnée ?
Note lorsqu'on utilise cette fonction avec un vecteur, le résultat montre pas "vector", mais le type de données utilisées
Utilisez la fonction typeof
typeof (truc)

Les vecteurs

Contiennent une liste ordonnée de N éléments
Construction manuelle d'une liste
Il existe plusieurs méthodes. Le plus souvent on voit la fonction combine: c()
proverbe = c("un", "mot", "dit", "plus", "que", "une", "image");
Extraire des éléments
> proverbe[1]
[1] "un"
> proverbe[2:3]
[1] "mot" "dit"

Les facteurs

Il s'agit d'une sorte de vecteur qui stocke de façon un peu plus efficace des chaînes de caractères et c'est surtout utile lorsqu'on a des longues listes de valeurs nominales)
Construction
On utilise la fonction factor pour transformer un vecteur en facteur
> proverbe2 = c ("mot", "image", "mot", "image", "mot")
> facts = factor(proverbe2)
> facts
[1] mot   image mot   image mot  
Levels: image mot
> proverbe2
[1] "mot"   "image" "mot"   "image" "mot"

Les listes

Une liste est comme un vecteur, mais peut contenir des données de type différent, y compris des listes. La représentation d'une liste est un peu plus verbeuse.

Une liste simple se construit comme un vecteur, enfin on utilise la fonction list
// Un vecteur
>emotions = c ("n", "chaud", "n", "chaud", "n", "froid")
>valeurs  = c (0,2,0,1,0,-2)

// Une liste
> emotions2 = list ("n", "chaud", "n", "chaud", "n", "froid")
> emotions
[[1]]
[1] "n"

[[2]]
[1] "chaud"

[[3]]
[1] "n"

[[4]]
[1] "chaud"

[[5]]
[1] "n"

[[6]]
[1] "froid"

Une liste qui contient des listes peut se construire à partir de listes ou de vecteurs. Les listes imbriquées ne doivent pas forcément avoir la même longueur.

Liste qui contient des vecteurs
> liste_10 = list (proverbe, emotions, valeurs)
> liste_10
[[1]]
[1] "un"    "mot"   "dit"   "plus"  "que"   "une"   "image"

[[2]]
[1] "n"     "chaud" "n"     "chaud" "n"     "froid"

[[3]]
[1]  0  2  0  1  0 -2
Exemple qui contient une liste

emotions2 = list ("n", "chaud", "n", "chaud", "n", "froid")

> liste_11 = list (proverbe2, emotions, valeurs)
> liste_11
[[1]]
[1] "mot"   "image" "mot"   "image" "mot"   "image"

[[2]]
[[2]][[1]]
[1] "n"

[[2]][[2]]
[1] "chaud"

[[2]][[3]]
[1] "n"

[[2]][[4]]
[1] "chaud"

[[2]][[5]]
[1] "n"

[[2]][[6]]
[1] "froid"


[[3]]
[1]  0  2  0  1  0 -2

> liste_11[2]
[[1]]
[[1]][[1]]
[1] "n"

[[1]][[2]]
[1] "chaud"

[[1]][[3]]
[1] "n"

[[1]][[4]]
[1] "chaud"

[[1]][[5]]
[1] "n"

[[1]][[6]]
[1] "froid"
Afficher un élément de liste
// Lister le 2ème élément (une liste dans notre cas)
> liste_10[2]
[[1]]
[1] "n"     "chaud" "n"     "chaud" "n"     "froid"

Les listes à clefs

On peut donner un nom à des éléments de liste. Cela permet par exemple de faire des simples base de données ou encore de "tagger" les mots d'un texte avec des annotations.

> phrase_courte = list (art="un", sujet="mot", verbe="dit")
> phrase_courte
$art
[1] "un"

$sujet
[1] "mot"

$verbe
[1] "dit"

Les matrices

Les matrices sont des tableaux à N dimensions, typiquement un tableau à 2 dimensions. Pensez à une feuille de tableur.
Une matrice contient des éléments du même type, par exemple des nombres ou encore des "strings" (chaîne de caractères) comme dans les exemples ci-dessous. Autrement dit, dans une matrice on ne peut pas retrouve à la fois des nombres et des strings.
Construction manuelle d'une matrice à partir d'une liste
> m <- matrix(c('ah', 'be', 'cé', 'dé', 'euh', 'eff', 'gé', 'asch'), nrow = 2)
> m
     [,1] [,2] [,3]  [,4]  
[1,] "ah" "cé" "euh" "gé"  
[2,] "be" "dé" "eff" "asch"
Construction d'une matrice à partir de vectors
Notez que l'on construit d'abord un long vecteur avec la fonction c
mat <-matrix ( c(phrase_courte, phrase_courte2, phrase_courte3), nrow=3)
mat
Extraire des données
On utilise aussi la notation [,]
> m[1,]
[1] "ah"  "cé"  "euh" "gé" 
> m[,2]
[1] "cé" "dé"
> m[2,1]
[1] "be"

Les array

Les array (tableaux en français) ressemblent à des matrices, mais contiennent des informations supplémentaires

.....

Les data frames

Un data frame un tableau composé de type de données différentes. On peut conceptualiser cela comme une sorte de combinaison entre une matrice et une liste à N dimensions.

Construction manuelle d'un data frame
On construit d'abord des simples vecteurs (pas de listes!) et ensuite on les combine
phrase_courte = c (art="un", sujet="mot", verbe="dit")
phrase_courte

phrase_courte2 = c (art="une", sujet="image", verbe="parle")
phrase_courte2

phrase_courte3 = c (art="une", sujet="idee", verbe="est")
phrase_courte3

phrases <-data.frame (phrase_courte, phrase_courte2, phrase_courte3)
phrases

> phrases
      phrase_courte phrase_courte2 phrase_courte3
art              un            une            une
sujet           mot          image           idee
verbe           dit          parle            est

Autres

Lire et écrire des données