PDF pagePrint page

Najpopularniejszym typem wykorzystywanym w R jest ramka danych. Przechowuje ona dane w postaci dwuwymiarowej tabeli. Ramka danych składa się z kolumn będących wektorami o dowolnym typie. Brak nazwy dla kolumny spowoduje, że będzie się ona nazywać tak jak zmienna przechowująca wektor lub jak całe wyrażenie tworzące tę kolumnę. Na szczęście nazwy kolumn mogą być zmienione przy użyciu funkcji names(). Przeanalizujmy przykłady:

Warto zauważyć, że tworząc ramkę danych wektory będące kolumnami muszą mieć identyczną długość. Indeksowanie ramki danych przebiega analogicznie jak w przypadku wektora z tą różnicą, że teraz indeksujemy rzędy oraz kolumny. Możliwe jest również pobranie całej kolumny przy użyciu jej nazwy:

Domyślnie przy tworzeniu ramki danych wektory zawierające łańcuch znaków są konwertowane do postaci cech grupujących, czyli faktorów. Aby temu zapobiec używamy opcji stringsAsFactors = FALSE w funkcji data.frame().

Ciekawszym sposobem indeksowania jest indeksowanie na podstawie zawartości ramki danych. Załóżmy, że chcemy pobrać rekordy osób poniżej 30 wieku życia. Innym przypadkiem byłoby pobranie danych tylko o Zofii. Wykorzystujemy tutaj poznane już operatory porównania. Mechanizm ten działa również dla wektora. W przykładzie wykorzystamy ramkę danych ‘ramka’ z poprzedniego przykładu:

Ramki danych mogą się powiększać poprzez dodanie wiersza, bądź dodatkowej kolumny. W obu przypadkach rozmiary i typy (tylko dla wierszy) dodawanych danych muszę się zgadzać z rozmiarem i typami ramki danych. W przykładzie znów wykorzystamy ramkę danych ‘ramka’:

Istnieje szereg funkcji przeznaczonych do wyświetlania informacji i badania właściwości ramki danych: