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 35Funkcja 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 ParisFunkcja 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 AdultOperator 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))Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wyzwanie
ŁatwyPrzetwórz ramkę danych zawierającą informacje o pracownikach za pomocą funkcji z pakietu dplyr. Wykonaj następujące operacje:
- Wybierz tylko kolumny "name", "age" i "salary"
- Przefiltruj dane tak, aby uwzględnić tylko pracowników w wieku 30 lat lub starszych
- 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
- Posortuj ramkę danych według wynagrodzenia w kolejności malejącej
- 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
1Podstawy danych
Poznawanie struktur danychIndeksowanie w DataFrameWybieranie podzbioru danychKonwersja typów danychOperator potoku w R4Zaawansowana manipulacja danymi
Manipulowanie ciągami znakówObsługa daty i czasuFunkcje niestandardowe2Przekształcanie danych
Wprowadzenie do dplyrAgregowanie danych za pomocą dplyrŁączenie danych za pomocą dplyrPoćwicz samodzielnie: Kompilator R online