Lekcje modułu (1/2)
Struktury Data Frames
W przeciwieństwie do macierzy, które mogą zawierać elementy tylko jednego typu, Data Frames (ramki danych) reprezentują najczęściej używaną strukturę danych tabelarycznych w R do analizy rzeczywistych danych.
Data Frame to tabela, w której każda kolumna może zawierać dane innego typu (np. jedna kolumna liczbowa, jedna tekstowa i jedna logiczna), ale wszystkie kolumny muszą mieć tę samą długość.
Tworzenie Data Frame
Aby utworzyć Data Frame, używa się funkcji data.frame(), definiując nazwy kolumn i przypisując im wektory:
# Tworzenie przykładowego data frame
students <- data.frame(
name = c("Alice", "Bob", "Charlie"),
grade = c(28, 24, 30),
passed = c(TRUE, TRUE, TRUE)
)
print(students)
Dostęp do Kolumn i Wierszy
Istnieje kilka sposobów na wyodrębnianie i manipulowanie danymi w Data Frame:
- Użycie operatora dolara
$: Pozwala wyodrębnić pojedynczą kolumnę w postaci wektora.Codegrades <- students$grade # grades będzie wektorem c(28, 24, 30) - Użycie nawiasów kwadratowych
[wiersz, kolumna]: Podobnie jak w macierzach.Code# Pierwszy student (pierwszy wiersz) first_student <- students[1, ]
Filtrowanie Danych
Jedną z mocnych stron języka R jest możliwość filtrowania rekordów na podstawie warunków logicznych:
# Wybieramy tylko studentów z oceną powyżej 25
good_students <- students[students$grade > 25, ]
print(good_students)
Wymiary i Modyfikacja Data Frame
Aby poznać wymiary Data Frame (liczbę wierszy i kolumn), możemy użyć funkcji dim():
# Zwraca wektor z dwoma elementami: c(wiersze, kolumny)
dimensions <- dim(students)
Możemy również dodawać nowe kolumny lub aktualizować istniejące za pomocą operatora $:
# Dodaje kolumnę z ocenami zwiększonymi o 2 punkty
students$bonus_grade <- students$grade + 2
Spróbuj sam
Utwórz Data Frame o nazwie students zawierający dwie kolumny: name (z wartościami 'Alice' i 'Bob') oraz grade (z wartościami 28 i 24).
Pokaż wskazówkę
Użyj funkcji data.frame: students <- data.frame(name = c('Alice', 'Bob'), grade = c(28, 24))
Rozwiązanie dostępne po 3 próbach
Dla danego Data Frame students, wyodrębnij kolumnę grade przy użyciu operatora $ i zapisz ją w zmiennej grades_vector.
Pokaż wskazówkę
Użyj operatora $: grades_vector <- students$grade
Rozwiązanie dostępne po 3 próbach
Przefiltruj Data Frame students, aby zawierał tylko studentów z grade większym lub równym 26, zapisując wynik w good_students.
Pokaż wskazówkę
Użyj students[students$grade >= 26, ] nie zapominając o przecinku, aby wybrać wszystkie kolumny.
Rozwiązanie dostępne po 3 próbach
Dla danej ramki danych df, pobierz jej wymiary za pomocą funkcji dim() i zapisz je w zmiennej df_dim.
Pokaż wskazówkę
Użyj funkcji dim(): df_dim <- dim(df)
Rozwiązanie dostępne po 3 próbach
Dla danej ramki danych inventory, dodaj nową kolumnę o nazwie total_value obliczoną jako iloczyn kolumn price i quantity.
Pokaż wskazówkę
Użyj: inventory$total_value <- inventory$price * inventory$quantity
Rozwiązanie dostępne po 3 próbach