Weiterleiten Ihrer Daten mit R – Teil 1

Jan 22 2023
der Reinigungs- und Manipulationsprozess. Warum den Pipe-Operator verwenden? Der Pipe-Operator (%>%) in R wird verwendet, um mehrere Operationen auf lesbarere und aussagekräftigere Weise miteinander zu verketten und effizienter zu machen, indem viele Zwischenvariablen vermieden werden und eine datenzentriertere Syntax für den Code bereitgestellt wird.

der Reinigungs- und Manipulationsprozess.

Foto von Jennifer Burk auf Unsplash

Warum den Pipe-Operator verwenden?

Der Pipe-Operator ( %>%) in R wird verwendet, um mehrere Operationen auf lesbarere und ausdrucksstärkere Weise miteinander zu verketten und effizienter zu machen, indem viele Zwischenvariablen vermieden werden und eine datenzentriertere Syntax für den Code bereitgestellt wird. Es wird häufig verwendet, um verschachtelte Funktionsaufrufe zu vermeiden und den Code dadurch besser lesbar und weniger fehleranfällig zu machen. Dabei wird die Ausgabe des Ausdrucks auf der linken Seite des Operators als erstes Argument an die Funktion auf der rechten Seite übergeben. Dadurch können Sie mehrere Funktionsaufrufe verketten und so den Datenfluss durch Ihren Code leichter erkennen.

Wie können wir Daten mit dem Pipe-Operator bereinigen?

Ich werde das Tidyverse-Paket in R verwenden und Ihnen zeigen, wie Sie die weitergeleiteten Daten zum Bereinigen, Auffinden von Anomalien in Ihren Daten und zum Bearbeiten von Daten verwenden können.

Um das Tidyverse in R zu laden:

install.packages(“tidyverse”)

Bibliothek(tidyverse)

Lassen Sie uns einige Daten in RStudio übertragen

data <- read.csv("https://raw.githubusercontent.com/NicJC/Emissions/main/global_emissions.csv")

data %>%head(n=8)

      
                
Image by Author

Nicht ideal!

Ich muss sorgfältig prüfen, welche Art und Qualität der Daten ich hier habe.

Analysieren Sie unsere Daten

install.packages(“skimr”) – und dann kann ich einfach Folgendes ausführen: skimr::skim(data)

skimr::skim(data)

      
                
Image by Author

Visualisieren Sie die Daten

Ich werde die Daten visualisieren, benötige dafür aber eine andere Bibliothek:

install.packages(“visdat”) , Bibliothek(visdat)

vis_miss(data,sort_miss = T)

      
                
Image by Author

Ich muss mir Jahr und Land genauer ansehen.

Beheben Sie das Jahresproblem

data %>%
  select(Year) %>%
  arrange(desc(Year)) %>%
  unique()

      
                
Image by Author

Durch die Verwendung der Pipes sieht der Codeblock übersichtlicher aus und es ist einfacher, die Parameter des Datensatzes zu sehen und anschließend zu bearbeiten.

df <- data %>% 
  filter(Year > 2010) 

df %>% head(n=100)

Bild vom Autor

Ich möchte auch ein weiteres Bild des neuen Datenrahmens df erhalten:

vis_miss(df,sort_miss = T)

      
                
Image by author

Länderproblem

df %>%
  select(Country) %>%
  arrange(desc(Country)) %>%
  unique()

      
                
Image by Author

df %>%
  select(Country) %>%
  unique() %>%
  tail(n=8)

      
                
Image by Author

df %>% 
  select(everything()) %>%
  group_by(Country) %>%
  arrange(desc(Year))

      
                
Image by Author

dataNew <-df %>%
  filter(Country %in% c("Ukraine" ,"Sweden" ,"New Zealand" , "France","Australia" ,"India" ,"China" ,"United Kingdom" ,"USA" ,"Netherlands" ) )


dataNew %>% 
  select(everything()) %>%
  group_by(Country) %>%
  arrange(desc(Year))

Bild vom Autor

Ich werde mir auch einige visuelle Elemente des neuen Datenrahmens ansehen:

vis_miss(dataNew,sort_miss = T)

      
                
Image by Author

dataNew %>% 
  select(Country,Year, Other) %>%
    ggpairs(title = "Correlation Plot of data")

install.packages(„GGally“) und dann Bibliothek(GGally)

Bild vom Autor

Der Datensatz sieht viel besser aus.

Die beiden Spalten „Jahr“ und „Land“ scheinen jetzt in Ordnung zu sein, und ich hatte Bedenken hinsichtlich der Spalte „Sonstiges“, aber aus der obigen Matrix scheint es kein Problem zu sein.

Letzte Kontrollen

Wir können die Basis-R-Methode verwenden, um ein Histogramm zu zeichnen:

hist(dataNew$Total, ylab = "Count" , xlab = "Total" , main = "Histogram of Total")

      
                
Image by Author

dataNew  %>% 
  ggplot() + 
  geom_histogram(mapping = aes(x=Total, fill = Country ), binwidth = 500) +
  labs(title = "Histogram of Total")

      
                
Image by Author

dataNew <- dataNew %>%
  select(Country,Year,Coal,Oil,Gas,Cement,Flaring,Total,ISO.3166.1.alpha.3)

Ich muss die Spalte „ISO.3166.1.alpha.3“ in „Country_ABR“ umbenennen.

dataNew <-dataNew %>%
  rename(Country_ABR = ISO.3166.1.alpha.3)

dataNew %>% head(130)

      
                
Image by Author

Einige Beispiele :

dataNew %>%
  group_by(Country) %>%
  summarise(Avg_Total = mean(Total))

      
                
Image by Author

dataNew %>%
  filter( Country == "Sweden") %>%
  summarise(Country,Year,Total) %>%
  arrange(desc(Year))

Bild vom Autor

dataNew %>% 
   mutate(Row = row_number(Total)) %>%
  arrange(Row)

Bild vom Autor

Abschluss

Ich habe mehrere Funktionen in der Tidyverse-Bibliothek zum Bereinigen und Bearbeiten von Daten verwendet. Diese Prinzipien können auch zum Bereinigen anderer Datensätze verwendet werden.

Die beiden Bibliotheken „visdat“ und „skimr“ sind sehr nützlich, wenn es darum geht, Fehler in Ihren Daten zu finden. „GGally“ ist im Allgemeinen nützlich, um die Korrelation zu überprüfen.

Weitere Informationen zum Tidyverse finden Sie auf der Tidyverse- Website

Ich hoffe, Ihnen hat der Artikel gefallen!

Schauen Sie sich meinen Artikel unten für Rohrleitungs- und Pivotdaten an

Lassen Sie uns über Linkedin oder Github eine Verbindung herstellen