Au fur et à mesure de mon apprentissage sur R, je me suis construit un petit document où j’ai listé les fonctions que j’ai utilisé, ce pense bête me sert tous les jour pour écrire mes nouveaux scripts. J’ai donc décidé de la partager avec vous.
La gestion de fichiers
Lire un fichier
[pastacode lang= »java » manual= »data%3Dread.csv(file%20%3D%20%22monfichier.csv%22%2Cheader%3DT%2C%20sep%3D%22%3B%22%2Cencoding%20%3D%20%22UTF-8%22) » message= » » highlight= » » provider= »manual »/]
Voici quelques options pratiques :
- encoding : permet de spécifier l’encodage du fichier
- sep : permet de spécifier le séparateur
- header : permet de spécifier si la première ligne contient le nom des colonnes
- skip : permet de ne pas tenir compte des premières ligne
Sauvegarder un fichier
[pastacode lang= »java » manual= »write.table(listeSERPSNettoyee%2C%20file%20%3D%20%22C%3A%2FUsers%2Ffichier.csv%22%2C%20sep%20%3D%20%22%3B%22%2C%20row.names%20%3D%20FALSE%2Cappend%3DFALSE%2Ccol.names%20%3D%20TRUE%2Cna%20%3D%20%22%22%2C%20quote%20%3D%20FALSE)%0A » message= » » highlight= » » provider= »manual »/]
Voici quelques options pratiques :
- sep : permet de définir le séparateur
- append : permet de spécifier si vous souhaitez ajouter ce fichier à la suite des données existantes ou remplacer l’existant
- colnames : permet de spécifier si vous souhaitez nommer les colonnes
- quote : permet de spécifier si vous souhaitez mettre le texte entre guillement
La gestion des dataFrames
Dédupliquer
[pastacode lang= »java » manual= »KeywordAvant%20%3C-%20unique(avant%24Keyword) » message= » » highlight= » » provider= »manual »/]
Vous pouvez dédupliquer sur la base d’un champ ou de l’intégralité du dataFrame
Convertir en dataframe
[pastacode lang= »java » manual= »KeywordAvant%20%3C-%20as.data.frame(KeywordAvant) » message= » » highlight= » » provider= »manual »/]
Renommer les colonnes
[pastacode lang= »java » manual= »colnames(urls)%20%3D%20c(%22url%22%2C%22position%22) » message= » » highlight= » » provider= »manual »/]
Pour le dataFrame urls, je spécifie les noms des 2 colonnes
La manipulation de données
La librairie DPLYR est vraiment pratique.
Croiser 2 dataFrames
[pastacode lang= »markup » manual= »data%20%3C-%20inner_join(x%3Ddata1%3Ddata2%2C%20by%20%3D%20c(%22keywords%22%20%3D%20%22H1%22)) » message= » » highlight= » » provider= »manual »/]
Ici data va contenir la liste des lignes de Data1 et Data2 pour lesquelles le champ « keywords » de data1 est égal au champ « H1 » de data2
Exclusion
[pastacode lang= »markup » manual= »data%3C-%20anti_join(x%3Ddata1%2Cy%3Ddata2%2C%20by%20%3D%20c(%22keywords%22%20%3D%20%22H1%22)) » message= » » highlight= » » provider= »manual »/]
Ici data va contenir la liste des lignes de Data1 pour lesquelles le champ « keywords » de data1 n’est jamais présent dans le champ « H1 » de data2
Filtrer
[pastacode lang= »java » manual= »marques%20%3C-%20filter(marques%2C%20H1%20!%3D%20%22%22) » message= » » highlight= » » provider= »manual »/]
Ici je récupère la liste des lignes du dataframe marque pour qui H1 n’est pas vide
[pastacode lang= »java » manual= »filter(marques%2C%20!grepl(%22adidas%22%2Cmarques%24urlRelative)) » message= » » highlight= » » provider= »manual »/]
Ici je récupère la liste des marques qui ne contiennent pas « adidas » dans leur url
Regroupement
[pastacode lang= »java » manual= »urlScorees%20%3C-%20listeUrl%20%25%3E%25%20%0A%20%20%20%20group_by(url)%20%25%3E%25%20%0A%20%20%20%20summarise(score%20%3D%20sum(trafic))%20%20%25%3E%25%20%0A%20%20%20%20arrange(desc(score))%0A » message= » » highlight= » » provider= »manual »/]
Je regroupe toutes les urls et calcule un champ « score » qui correspondra à la somme du « trafic » de chaque url, et je trie le tout selon le champ « score »
Concaténer 2 dataFrame
[pastacode lang= »java » manual= »motsCles%3C-bind_rows(motsCles%2Cmarques) » message= » » highlight= » » provider= »manual »/]
Cette fonction permet d’ajouter des champs dans mon dataframe « motsCles ».
Attention cela ne fonctionne que s’il y a le même nombre de lignes
Concaténer
[pastacode lang= »java » manual= »maString%20%3C-%20paste(%22valeur%201%22%2C%22valeur%202%22%2Csep%3D%22%22)%0A%0A » message= » » highlight= » » provider= »manual »/]
On peut concaténer autant le nombre de chaines souhaités.
Le paramètre « sep » permet de spécifier le séparateur.
Supprimer des colonnes
[pastacode lang= »java » manual= »marques%20%3C-marques%5B%20%2C%20c(2%2C4)%5D%0A%0AscorePage%20%3C-scorePage%5B%20%2C%20c(%22url%22%2C%22score%22)%5D%0A%0A » message= » » highlight= » » provider= »manual »/]
Vous pouvez spécifier l’indice de la colonne ou le nom de la colonne
Remplacer des valeurs
[pastacode lang= »java » manual= »sub(%22http%3A%2F%2Fwww.laredoute.fr%22%2C%22%22%2Cmarques%24Full.URL) » message= » » highlight= » » provider= »manual »/]
Ici je passe une url en relatif
Créer data.frame vide
[pastacode lang= »java » manual= »df%20%3C-%20data.frame(keyword%3Das.character()%2CnbProduct%20%3D%20as.numeric()) » message= » » highlight= » » provider= »manual »/]
Voilà pour une première liste. Bien sur ça n’est pas exhaustif, mais c’est un bon début.
Et vous y-a-t-il d’autres commandes qui vous sont vitales ?
0 commentaire