Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructuration de la partie manipulations de données ? #499

Open
linogaliana opened this issue Nov 23, 2023 · 1 comment
Open

Restructuration de la partie manipulations de données ? #499

linogaliana opened this issue Nov 23, 2023 · 1 comment

Comments

@linogaliana
Copy link
Contributor

linogaliana commented Nov 23, 2023

Suite à la remarque de @pierre-lamarche sur tchap, je propose de prolonger le débat ici.

Contexte

Remarque de Pierre:

avec la fiche arrow on utilise la grammaire tidyverse, mais on manipule des objets un peu différents
Du coup j'ai peur que les lecteurs soient perdus
Il faut faire quoi, dans quel contexte ?
ça j'ai du mal à le trouver
On est très orienté outil, pas tellement cas d'usage
et donc on va satisfaire le lecteur curieux qui veut se rencarder sur arrow, mais on ne lui dit pas trop quand ça a du sens de s'en servir

Ma réponse :

je suis assez d'accord avec toi, surtout qu'a priori va s'ajouter un autre framework qui est duckdb
faut peut-être repenser cette partie de la documentation comme un bloc séparé avec une introduction présentant quel framework utiliser selon les cas

Proposition

Quelque chose comme ça ?

Choisir son cadre d'analyse des données avec R

Introduction
16  Manipuler des données avec le tidyverse
17  Manipuler des données avec data.table
18  Manipuler des données avec arrow
19  Manipuler des données avec duckdb (à voir si 2 fiches ou 1 seule)

Manipuler des données avec R, en pratique

20  Manipuler des données textuelles
22  Manipuler des données spatiales
19  Joindre des tables de données
21  Utiliser des données d’enquêtes
23  L’analyse de données (ACP, ACM, ACF…)

Proposition ouverte à discussion !

@oliviermeslin
Copy link
Contributor

oliviermeslin commented Nov 23, 2023

Merci @linogaliana et @pierre-lamarche pour la suggestion. Je pense qu'on peut distinguer deux choses en vue de construire un arbre de décision: 1/ les seuils de taille/volume, 2/ les recommandations d'usage.

Proposition de seuils

  • Données de petite taille: moins de 1M d'observations, et taille inférieure à 1 Go en CSV ou 200 Mo en Parquet;
  • Données de taille moyenne: moins de 5M d'observations, et taille inférieure à 5 Go en CSV ou 1 Go en Parquet;
  • Données volumineuses: plus de 5M d'observations, et taille inférieure à 5 Go en CSV ou 1 Go en Parquet.

Note: ces seuils se calculent sur l'ensemble des données utilisées: si vous utilisez deux tables de 1 millions et 3 millions d'observations, alors vos données font 4 millions d'observations. Idem pour la taille.

Proposition d'arbre de décision

  • Point de départ: les données sont-elles de petite taille?
    • Si oui: utiliser le tidyverse;
    • Si non: les données sont-elles de taille moyenne?
      • Si oui: les données sont-elles mises à disposition en format Parquet?
        • Si oui: utiliser arrow et duckdb;
        • Si non: savez-vous vous servir de data.table?
          • Si oui: utiliser data.table
          • Si non: utiliser arrow et duckdb.
      • Si non: utiliser arrow et duckdb.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants