Menu
Coddy logo textTech

Wprowadzenie do dplyr

Lekcja 6 z 14 w kursie Manipulowanie danymi w R w Coddy.

Pakiet dplyr to potężne narzędzie do manipulowania danymi w R. Udostępnia zestaw funkcji, które ułatwiają efektywne przekształcanie i analizowanie ramek danych. W tej lekcji skupimy się na trzech kluczowych funkcjach: select(), filter() i mutate().

Ładowanie dplyr

Oto przykład ładowania pakietu:

# Załaduj dplyr
library(dplyr)

Funkcja select()

Funkcja select() umożliwia wybór określonych kolumn z ramki danych:

# Utwórz przykładową ramkę danych
df <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  age = c(25, 30, 35),
  city = c("New York", "London", "Paris")
)

# Wybierz określone kolumny
result <- select(df, name, age)
print(result)

Wynik:

  name    age
1 Alice   25
2 Bob     30
3 Charlie 35

Funkcja filter()

Funkcja filter() pozwala wybierać wiersze na podstawie określonych warunków:

# Filtruj wiersze, w których age jest większe niż 28
result <- filter(df, age > 28)
print(result)

Wynik:

  name     age city
1 Bob      30  London
2 Charlie  35  Paris

Funkcja mutate()

Funkcja mutate() umożliwia tworzenie nowych kolumn lub modyfikowanie istniejących:

# Dodaj nową kolumnę 'age_group'
result <- mutate(df, age_group = ifelse(age < 30, "Young", "Adult"))
print(result)

Wynik:

    name age    city age_group
1  Alice  25 New York     Young
2    Bob  30   London     Adult
3 Charlie  35    Paris     Adult

Operator potoku %>%

dplyr wprowadza operator potoku %>%, który pozwala łączyć wiele operacji:

result <- df %>%
  filter(age > 28) %>%
  select(name, city) %>%
  mutate(location = paste(name, "lives in", city))
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

challenge icon

Wyzwanie

Łatwy

Przetwórz ramkę danych zawierającą informacje o pracownikach za pomocą funkcji z pakietu dplyr. Wykonaj następujące operacje:

  1. Wybierz tylko kolumny "name", "age" i "salary"
  2. Przefiltruj dane tak, aby uwzględnić tylko pracowników w wieku 30 lat lub starszych
  3. Dodaj nową kolumnę o nazwie "bonus", która będzie wynosić 10% wynagrodzenia pracowników w wieku co najmniej 40 lat i 5% w przypadku pozostałych
  4. Posortuj ramkę danych według wynagrodzenia w kolejności malejącej
  5. Wyświetl wynikową ramkę danych.

Spróbuj swoich sił

# Załaduj wymaganą bibliotekę
suppressPackageStartupMessages(library(dplyr))

# Wczytaj dane wejściowe
con <- file("stdin", "r")
input_data <- suppressWarnings(readLines(con))

# Utwórz ramkę danych z danych wejściowych
df <- read.csv(text = input_data, stringsAsFactors = FALSE)

# TODO: Napisz poniżej kod przetwarzający ramkę danych
process_employee_data <- function(df) {
  # Twój kod tutaj
  # Użyj funkcji dplyr, aby:
  # 1. Wybrać kolumny
  # 2. Filtrować dane
  # 3. Dodać kolumnę z premią
  # 4. Posortować według wynagrodzenia
  
  return(df)  # Zastąp to przetworzoną ramką danych
}

# Przetwórz ramkę danych
result <- process_employee_data(df)

# Wyświetl wynik
print(result)

Wszystkie lekcje w sekcji Manipulowanie danymi w R

Poćwicz samodzielnie: Kompilator R online