English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
R, en tant qu'outil professionnel de statistiques, si l'importation et l'exportation de données ne peuvent être effectuées que manuellement, cela rendrait ses fonctions sans signification, donc R prend en charge le téléchargement en lots de données à partir des formats de fichiers de stockage de tableaux populaires (par exemple CSV, Excel, XML, etc.).
CSV (Virgule-Les valeurs séparées, CSV, appelées parfois valeurs séparées par des caractères, car les caractères de séparation peuvent ne pas être des virgules), sont un format de fichier de stockage de tableaux très populaire, ce format est adapté pour stocker des données de taille moyenne ou petite.
Comme la plupart des logiciels supportent ce format de fichier, il est souvent utilisé pour le stockage et l'échange de données.
CSV est essentiellement un texte, son format de fichier est extrêmement simple : les données sont enregistrées ligne par ligne sous forme de texte, chaque enregistrement est séparé par des délimiteurs en fonction des champs, et chaque enregistrement a une séquence de champs identique.
Voici un fichier sites.csv simple (stocké dans le même répertoire que le programme de test) :
id,name,url,likes 1,Google,www.google.com,111 2,w3codebox,fr.oldtoolbag.com,222 3,Taobao,www.taobao.com,333
Le CSV utilise des virgules pour séparer les colonnes, si les données contiennent des virgules, il faut utiliser des guillemets doubles pour encadrer tout le bloc de données.
Attention :Les textes contenant des caractères non anglais doivent prendre en compte le codage, car de nombreux ordinateurs utilisent couramment UTF-8 Codage, donc j'utilise UTF-8 Sauvegarder.
Attention : Le fichier CSV doit contenir une ligne vide à la fin, sinon, un message d'avertissement sera affiché lors de l'exécution du programme.
Message d'avertissement : In read.table(file = file, header = header, sep = sep, quote = quote, : ligne finale incomplète trouvée par readTableHeader dans 'sites.csv'
Ensuite, nous pouvons utiliser la fonction read.csv() pour lire les données du fichier CSV :
data <- read.csv("sites.csv", encoding="UTF-8) print(data)
Si vous ne définissez pas l'attribut encoding, la fonction read.csv() utilisera par défaut le codage de caractères par défaut du système d'exploitation pour lire, si vous utilisez un système d'exploitation Windows en chinois et que vous n'avez pas défini le codage de caractères par défaut du système, le codage de caractères par défaut du système devrait être GBK. Par conséquent, veuillez unifier le codage de caractères le plus possible pour éviter les erreurs.
Le résultat de l'exécution du code suivant est :
id name url likes 1 1 Google www.google.com 111 2 2 w3codebox fr.oldtoolbag.com 222 3 3 Taobao www.taobao.com 333
La fonction read.csv() retourne un data.frame, nous pouvons traiter les données statistiques très facilement, dans l'exemple suivant, nous regardons le nombre de lignes et de colonnes :
data <- read.csv("sites.csv", encoding="UTF-8) print(is.data.frame(data)) # vérifier si c'est un data.frame print(ncol(data)) # nombre de colonnes print(nrow(data)) # nombre de lignes
Le résultat de l'exécution du code suivant est :
[1] TRUE [1] 4 [1] 3
Voici les statistiques suivantes du champ likes le plus grand pour les données :
data <- read.csv("sites.csv", encoding="UTF-8) # likes données les plus grandes like <- max(data$likes) print(like)
Le résultat de l'exécution du code suivant est :
[1] 333
Nous pouvons également spécifier les conditions de recherche, similaires à la clause WHERE de SQL, pour interroger les données, et nous devons utiliser les fonctions suivantes subset()。
Voici un exemple pour trouver likes égal à 222 à la données :
data <- read.csv("sites.csv", encoding="UTF-8) # likes est 222 des données retval <- subset(data, likes == 222) print(retval)
Le résultat de l'exécution du code suivant est :
id name url likes 2 2 w3codebox fr.oldtoolbag.com 222
Attention:Les conditions égales sont indiquées par ==.
Pour utiliser plusieurs conditions, séparez-les avec le séparateur & ; voici un exemple pour trouver likes supérieur à 1 name est w3Les données de codebox :
data <- read.csv("sites.csv", encoding="UTF-8) # likes supérieur à 1 name est w3Les données de codebox retval <- subset(data, likes > 1 & name=="w3codebox) print(retval)
Le résultat de l'exécution du code suivant est :
id name url likes 2 2 w3codebox fr.oldtoolbag.com 222
R peut utiliser write.csv() La fonction enregistre les données sous forme de fichier CSV.
Continuons avec l'exemple précédent, nous allons enregistrer les données où likes est 222 Les données enregistrées dans w3Le fichier codebox.csv :
data <- read.csv("sites.csv", encoding="UTF-8) # likes est 222 des données retval <- subset(data, likes == 222) # Écrire dans un nouveau fichier write.csv(retval,"w3codebox.csv") newdata <- read.csv("w3codebox.csv") print(newdata)
Le résultat de l'exécution du code suivant est :
X id name url likes 1 2 2 w3codebox fr.oldtoolbag.com 222
X provenant du jeu de données newper, il est possible de supprimer X en utilisant le paramètre row.names = FALSE :
data <- read.csv("sites.csv", encoding="UTF-8) # likes est 222 des données retval <- subset(data, likes == 222) # Écrire dans un nouveau fichier write.csv(retval,"w3codebox.csv", row.names = FALSE) newdata <- read.csv("w3codebox.csv") print(newdata)
Le résultat de l'exécution du code suivant est :
id name url likes 1 2 w3codebox fr.oldtoolbag.com 222
Après exécution, nous pouvons voir w3Le fichier codebox.csv a été généré avec succès.