More

    Résoudre les énigmes PowerQuery avec R : Guide pratique

    France

    Dans le domaine de l’analyse de données, PowerQuery et R sont des outils puissants qui peuvent être utilisés ensemble pour résoudre des problèmes complexes. Cet article présente deux énigmes PowerQuery et les solutions correspondantes en utilisant le langage R.

    Énigme #225

    Dans cette énigme, nous avons un ensemble de données organisé sous forme de tableaux. Cependant, cette structure peut rendre la recherche et l’interprétation des données difficiles. Il est souvent nécessaire de transformer ces données pour leur donner une forme plus lisible.

    Chargement des bibliothèques et des données

    Pour commencer, nous devons charger les bibliothèques nécessaires et les données :

    library(tidyverse)
    library(readxl)
    path = "Power Query/PQ_Challenge_225.xlsx"
    input = read_excel(path, range = "A1:D9")
    test = read_excel(path, range = "F1:G12")

    Transformation des données

    Nous appliquons plusieurs transformations pour obtenir le format souhaité :

    r1 = input %>%
        mutate(Id = consecutive_id(Group),
               `Emp ID` = as.character(`Emp ID`),
               Group = ifelse(Group == "Group A", "GroupA", Group))
    r1_1 = r1 %>%
        select(Column1 = 1, Column2 = 2, ID = 5)
    r1_2 = r1 %>%
        select(Column1 = 4, Column2 = 3, ID = 5)
    r2 = rbind(r1_2, r1_1) %>%
        arrange(ID) %>%
        distinct() %>%
        select(-ID)

    Validation

    Pour valider notre transformation, nous comparons le résultat avec les données de test :

    all.equal(r2, test, check.attributes = FALSE) #> [1] TRUE

    Énigme #226

    Cette fois, nous sommes confrontés à des données qui peuvent sembler redondantes. L’objectif est de les transformer afin d’en extraire les informations pertinentes.

    Chargement des bibliothèques et des données

    Comme précédemment, nous chargeons les bibliothèques et les données :

    library(tidyverse)
    library(readxl)
    path = "Power Query/PQ_Challenge_226.xlsx"
    input = read_excel(path, range = "A1:D13")
    test = read_excel(path, range = "F1:I19")

    Transformation des données

    Voici comment les données sont transformées :

    result = input %>%
        fill(`Dept ID`) %>%
        select(-`Highest Paid Employee`) %>%
        pivot_longer(-`Dept ID`, values_to = "Value") %>%
        separate(Value, into = c("Emp Names", "Salary", "Promotion Date"), sep = "-") %>%
        select(-name) %>%
        filter(!is.na(`Emp Names`)) %>%
        arrange(`Dept ID`, `Emp Names`) %>%
        mutate(`Promotion Date` = as.POSIXct(`Promotion Date`, format = "%m/%d/%Y", tz = "UTC"),
               Salary = as.numeric(Salary)) %>%
        select(`Dept ID`, `Emp Names`, `Promotion Date`, Salary)

    Validation

    Nous vérifions si notre résultat final est conforme aux attentes :

    all.equal(result, test, check.attributes = FALSE) #> [1] TRUE
    Powerquery R | Powerquery | R | Données | Informatique | Analyse | France

    LAISSER UN COMMENTAIRE

    S'il vous plaît entrez votre commentaire!
    S'il vous plaît entrez votre nom ici


    Actualités

    L’acteur de Friends, Matthew Perry, décède à 54 ans

    "Matthew Perry, célèbre pour son rôle de Chandler Bing dans Friends, décède à 54 ans. Acteur très apprécié, sa mort suscite l'émotion mondiale."

    Entité sioniste déploie des navires de guerre en Mer Rouge selon un expert militaire

    Entité sioniste déploie des navires de guerre en Mer Rouge pour contrer les Houthis au Yémen, une manœuvre vue comme une démonstration de force envers l'Iran.

    L’affaire des SMS entre Pfizer et la Commission européenne : ce qu’il faut savoir

    En avril 2021, le New York Times a révélé...

    Banque suisse : Credit Suisse en chute libre après la faillite de la SVB

    L'action de Credit Suisse a dévissé de plus de...

    Le Retour de Microsoft avec Bing et Edge : Une Menace pour Google ?

    Depuis moins de trois mois, ChatGPT a déjà créé...

    France : Rima Hassan renvoyée en procès pour apologie du terrorisme

    En France, l’eurodéputée Rima Hassan est renvoyée en procès pour apologie du terrorisme après un bref placement en garde à vue.

    Gaza : le récit de la destruction de la santé au complexe Al-Chifa

    À Gaza, le complexe Al-Chifa et tout le système de santé ont été ravagés. Récit d’une « épidémie sanitaire » sous les bombardements.

    Le Pentagone limoge le chef d’état-major de l’armée américaine

    Le Pentagone a limogé Randy George en pleine guerre contre l’Iran, sur fond de purge interne et de remaniement voulu par Pete Hegseth.

    États-Unis : détention du président d’une association islamique à Milwaukee

    Aux États-Unis, l’ICE a arrêté Salah Sarsour, président d’une association islamique de Milwaukee, sur fond d’accusations contestées.

    Golfe, Irak et Jordanie : interceptions et chute d’un drone

    Koweït, Bahreïn et Émirats interceptent des attaques, tandis qu’un drone s’écrase à la frontière irako-jordanienne.

    Washington informe Israël de l’échec des discussions avec l’Iran

    Washington a informé Israël de l’impasse des discussions avec l’Iran, alors que de nouvelles frappes et des pressions sur l’économie iranienne sont étudiées.

    Israël frappe 44 zones du sud du Liban, Hezbollah riposte

    Israël a frappé 44 zones du sud du Liban, causant 10 morts. Le Hezbollah a riposté avec 60 attaques contre des cibles israéliennes.

    Trump menace l’Iran : frappes massives annoncées dans 2-3 semaines

    Trump menace des frappes « très puissantes » contre l'Iran dans 2-3 semaines, visant à détruire ses capacités militaires et nucléaires. Pays concernés : USA, Iran.

    à Lire

    Categories