Bonjour,
Avant tout je tiens à préciser que j'ai commencé avec R et RStudio il y a 2 jours.
La situation: j'ai un tableau de données en csv avec 4 colonnes. L'objectif pour moi est d'utiliser R-markdown pour créer des documents avec des tableaux différents mais tous issus du même fichier.csv. En effet j'aimerais afficher une partie du tableau en fonction du contenu de la 2ème colonne. J'ai écrit alors un chunk:
Ligne 3 : d'après ce que j'ai compris, je crée à partir de df, une nouveau data.frame (appelé data) qui ne contient que les lignes contenant la valeur 1 dans la colonne Obj
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ```{r} df <- data.frame(read.csv("data.csv")) data <- df[df$Obj==1,] print(data) knitr::kable(data[3:4]) ```
Ligne 4 : pour voir le résultat
Ligne 5 : pour sortir mon doc, dont seul les colonnes 3 et 4 doivent être visible.
Résultat du print
Première chose étrange, cela me rajoute une colonne X. Mais le document final produit le tableau suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ## X Obj Lettre Lettre2 ## 1 1 1 a b ## 2 2 1 c d ## 3 3 1 a b ## 4 4 1 c d ## 5 5 1 a b
Donc tout va bien, c'est ce que je cherche à avoir.
Là où ça devient bizarre, c'est lorsque je veux faire la même chose en changeant la condition :
Ligne 3 : valeur 2 à la place de 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ```{r} df <- data.frame(read.csv("data.csv")) data <- df[df$Obj==2,] print(data) knitr::kable(data[3:4]) ```
Résultat du print
Toujours une colonne X en plus, j'ai bien les lignes dont la valeur est 2 pour Obj. Mais le document final produit le tableau suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ## X Obj Lettre Lettre2 ## 6 6 2 c d ## 7 7 2 a b ## 8 8 2 c d ## 9 9 2 a b
Et la c'est bizarre, pourquoi la colonne supplémentaire s'affiche ?
Donc mes questions :
1.Est-ce que mon code est correct ou il y a un moyen plus simple d'afficher des lignes en fonction de leur contenu ?
2. Peut-on empêcher l'ajout d'une colonne X lors de la création de la data.frame "data"
3. Pourquoi cette colonne supplémentaire s'affiche dans la situation 2 et pas dans la 1 (alors que je précise bien kable(data[3:4] ?
Partager