Menu
Coddy logo textTech

Poznawanie struktur danych

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

W R struktury danych są podstawą organizowania i przetwarzania danych. Przyjrzyjmy się trzem podstawowym strukturom danych: wektorom, macierzom i ramkom danych.

1. Wektory

Wektory to jednowymiarowe tablice, które mogą przechowywać elementy tego samego typu danych.


# Tworzenie wektora liczbowego
numbers <- c(1, 2, 3, 4, 5)

# Tworzenie wektora znakowego
fruits <- c("apple", "banana", "cherry")

# Uzyskiwanie dostępu do elementów
print(numbers[2])  # Wynik: 2
print(fruits[1:2])  # Wynik: "apple" "banana"

2. Macierze

Macierze to dwuwymiarowe tablice składające się z wierszy i kolumn, zawierające elementy tego samego typu danych.


# Tworzenie macierzy
mat <- matrix(1:6, nrow = 2, ncol = 3)

# Odwoływanie się do elementów
print(mat[1, 2])  # Zwraca element z 1. wiersza i 2. kolumny (Wynik: 3)
print(mat[, 1])   # Zwraca 1. kolumnę jako wektor (Wynik: 1 2)

3. Ramki danych

Ramki danych to struktury przypominające tabele, które mogą przechowywać różne typy danych w każdej kolumnie.


# Tworzenie ramki danych
df <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  age = c(25, 30, 35),
  city = c("New York", "London", "Paris")
)

# Uzyskiwanie dostępu do elementów
print(df$name)        # Zwraca kolumnę o nazwie "name" (Wynik: "Alice" "Bob" "Charlie")
print(df[2, "age"])   # Wynik: 30
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

Wykonaj następujące operacje na ramce danych:

  1. Dodaj nową kolumnę o nazwie "height_m", która przelicza wzrost z centymetrów na metry
  2. Oblicz i wypisz średni wiek
  3. Wypisz imię i nazwisko najwyższej osoby (w metrach)

Spróbuj swoich sił

# Odczytaj dane wejściowe
con <- file("stdin", "r")
input_data <- suppressWarnings(readLines(con, n = 3))

# Przetwórz dane wejściowe
data_list <- strsplit(input_data, ",")
names <- sapply(data_list, function(x) x[1])
ages <- as.numeric(sapply(data_list, function(x) x[2]))
heights <- as.numeric(sapply(data_list, function(x) x[3]))

# Utwórz początkową ramkę danych
df <- data.frame(
  name = names,
  age = ages,
  height = heights
)

# TODO: Napisz swój kod poniżej
# 1. Dodaj nową kolumnę 'height_m'
# 2. Oblicz i wypisz średni wiek
# 3. Wypisz imię najwyższej osoby (w metrach)

# Miejsce na wynik
cat("Average age:", avg_age, "\n")
cat("Tallest person:", tallest_person)

Wszystkie lekcje w sekcji Manipulowanie danymi w R

Poćwicz samodzielnie: Kompilator R online