R Tableau de données

Un tableau de données (Data frame) peut être compris comme ce que nous appelons communément un « tableau ».

Un tableau de données est une structure de données en R, une liste bidimensionnelle spéciale.

Chaque colonne d'un tableau de données a un nom de colonne unique, et les longueurs sont toutes égales. Les types de données au sein d'une même colonne doivent être cohérents, tandis que différentes colonnes peuvent avoir des types de données différents.

Les tableaux de données du langage R sont créés à l'aide de la fonction data.frame(), avec la syntaxe suivante :

data.frame(…, row.names = NULL, check.rows = FALSE,
           check.names = TRUE, fix.empty.names = TRUE,
           stringsAsFactors = default.stringsAsFactors())
  • …: Vecteur colonne, peut être de n'importe quel type (caractère, numérique, logique), généralement exprimé sous la forme étiquette = valeur, ou peut être valeur.
  • row.names: Noms de lignes, la valeur par défaut est NULL, peut être défini sur un nombre unique, une chaîne de caractères, ou un vecteur de chaînes de caractères et de nombres.
  • check.rows: Vérifie si les noms de lignes et les longueurs sont cohérents.
  • check.names: Vérifie si les noms de variables du tableau de données sont valides.
  • fix.empty.names: Définit si les paramètres non nommés sont automatiquement nommés.
  • stringsAsFactors: valeur booléenne, indiquant si les caractères sont convertis en facteurs. La valeur par défaut d'origine est TRUE, et peut être modifiée en définissant l'option (stringsAsFactors=FALSE).

Ce qui suit crée un tableau de données simple, contenant le nom, l'identifiant de l'employé et le salaire mensuel :

Exemple

table = data.frame(
Nom= c("Zhang San", "Li Si"),
Identifiant de l'employé= c("001","002"),
Salaire mensuel= c(1000, 2000)
   
)
print(table) # Afficher les données de la table

L'exécution du code ci-dessus produit le résultat suivant :

姓名 工号 月薪
1 张三  001 1000
2 李四  002 2000

La structure de données d'un tableau de données peut être affichée en utilisant la fonctionstr()pour afficher :

Exemple

table = data.frame(
Nom= c("Zhang San", "Li Si"),
Identifiant de l'employé= c("001","002"),
Salaire mensuel= c(1000, 2000)
)
# Obtenir la structure des données
str(table)

L'exécution du code ci-dessus produit le résultat suivant :

'data.frame':   2 obs. of  3 variables:
 $ 姓名: chr  "张三" "李四"
 $ 工号: chr  "001" "002"
 $ 月薪: num  1000 2000

summary()Les informations de synthèse du tableau de données peuvent être affichées :

Exemple

table = data.frame(
Nom= c("Zhang San", "Li Si"),
Identifiant de l'employé= c("001","002"),
Salaire mensuel= c(1000, 2000)
   
)
# Afficher le résumé
print(summary(table))  

L'exécution du code ci-dessus produit le résultat suivant :

姓名               工号                月薪     
Length:2           Length:2           Min.   :1000  
Class :character   Class :character   1st Qu.:1250  
Mode  :character   Mode  :character   Median :1500  
                                      Mean   :1500  
                                      3rd Qu.:1750  
                                      Max.   :2000  

Nous pouvons également extraire des colonnes spécifiées :

Exemple

table = data.frame(
Nom= c("Zhang San", "Li Si"),
Identifiant de l'employé= c("001","002"),
Salaire mensuel= c(1000, 2000)
)
# Extraire les colonnes spécifiées
result <- data.frame(table$Name,table$MonthlySalary)
print(result)

L'exécution du code ci-dessus produit le résultat suivant :

table.姓名 table.月薪
1       张三       1000
2       李四       2000

Ce qui suit affiche les deux premières lignes :

Exemple

table = data.frame(
Name= c("Zhang San", "Li Si","Wang Wu"),
Identifiant de l'employé= c("001","002","003"),
Salaire mensuel= c(1000, 2000,3000)
)
print(table)
# Extraire les deux premières lignes
print("---Afficher les deux premières lignes----")
result <- table[1:2,]
print(result)

L'exécution du code ci-dessus produit le résultat suivant :

姓名 工号 月薪
1 张三  001 1000
2 李四  002 2000
3 王五  003 3000
[1] "---输出前面两行----"
  姓名 工号 月薪
1 张三  001 1000
2 李四  002 2000

Nous pouvons lire les données d'une colonne spécifique dans une ligne spécifiée à l'aide de coordonnées. Ci-dessous, nous lisons les données des lignes 2 et 3, colonnes 1 et 2 :

Exemple

table = data.frame(
Name= c("Zhang San", "Li Si","Wang Wu"),
Identifiant de l'employé= c("001","002","003"),
Salaire mensuel= c(1000, 2000,3000)
)
# Lire les données des lignes 2 et 3, colonnes 1 et 2 :
result <- table[c(2,3),c(1,2)]
print(result)

L'exécution du code ci-dessus produit le résultat suivant :

姓名 工号
2 李四  002
3 王五  003

Étendre le data frame

Nous pouvons étendre un data frame existant. Dans l'exemple suivant, nous ajoutons une colonne Department :

Exemple

table = data.frame(
Name= c("Zhang San", "Li Si","Wang Wu"),
Identifiant de l'employé= c("001","002","003"),
Salaire mensuel= c(1000, 2000,3000)
)
# Ajouter une colonne Department
table$Department<- c("Operations","Technology","Editorial")

print(table)

L'exécution du code ci-dessus produit le résultat suivant :

姓名 工号 月薪 部门
1 张三  001 1000 运营
2 李四  002 2000 技术
3 王五  003 3000 编辑

Nous pouvons utiliser la fonctioncbind()pour combiner plusieurs vecteurs en un data frame :

Exemple

# Créer des vecteurs
sites <- c("Google","Example","Taobao")
likes <- c(222,111,123)
url <- c("www.google.com","www.example.com","www.taobao.com")

# Combiner des vecteurs en un data frame
addresses <- cbind(sites,likes,url)

# Afficher le data frame
print(addresses)

L'exécution du code ci-dessus produit le résultat suivant :

     sites    likes url             
[1,] "Google" "222" "www.google.com"
[2,] "Example" "111" "www.example.com"
[3,] "Taobao" "123" "www.taobao.com"

Si vous avez besoin de fusionner deux data frames, vous pouvez utiliser la fonctionrbind():

Exemple

table = data.frame(
Name= c("Zhang San", "Li Si","Wang Wu"),
Identifiant de l'employé= c("001","002","003"),
Salaire mensuel= c(1000, 2000,3000)
)
newtable = data.frame(
Nom= c(Xiaoming, "Débutant"),
Identifiant de l'employé= c("101","102"),
Salaire mensuel= c(5000, 7000)
)
# Fusionner deux data frames
result <- rbind(table,newtable)
print(result)

L'exécution du code ci-dessus produit le résultat suivant :

姓名 工号 月薪
1 张三  001 1000
2 李四  002 2000
3 王五  003 3000
4 小明  101 5000
5 小白  102 7000
Autres extensions