Pojedyncze wartości — liczbowe i nie tylko — można łączyć w bardziej złożone całości zwane obiektami. Wyróżnia się kilka rodzajów obiektów w R. Najprostszy z nich to wektor. Wektory dzielą się na liczbowe, znakowe i logiczne.
Do utworzenia wektora liczbowe z pojedynczych wartości (lub z innych wektorów, o czym za chwilę) wykorzystuje się funkcję c(). Dla przykładu, aby połączyć 5 pierwszych liczb naturalnych w wektor liczbowy, wystarczy napisać:
moj_wektor <- c(1, 2, 3, 4, 5)
W badaniu sondażowym na losowej próbie dorosłych Amerykanów, respondentów zapytano o ich ulubioną porę roku. 15% badanych wskazało zimę, 26% wybrało wiosnę, tyle samo — lato, zaś pozostali, 33%, wskazali jesień. Rozkład odpowiedzi na to pytanie można zapisać w postaci wektora w następujący sposób:
poraroku <- c(15, 26, 26, 33)
Pomnożenie wektora przez stałą jest równoważne pomnożeniu każdego elementu wektora przez tą stałą. Dla przykłady, jeśli pomnożymy wektor poraroku przez 0,01 (czyli podzielimy przez 100), zamienimy odsetki na proporcje:
0.01 * poraroku
## [1] 0.15 0.26 0.26 0.33
Przypuśćmy, że w badaniu udział wzięło \( N=2500 \) respondentów. Aby zamienić proporcje na liczebności, musimy proporcje pomnożyć przez 2500:
pr.prop <- poraroku/100
2500 * pr.prop
## [1] 375 650 650 825
2500 * (poraroku/100) # alternatywnie
## [1] 375 650 650 825
Dodanie stałej do wektora jest równoznaczne z dodaniej tej stałem do każdego elementu wektora:
pr.licz <- 2500 * pr.prop
pr.licz
## [1] 375 650 650 825
pr.licz + 125
## [1] 500 775 775 950
Wektory możemy do siebie dodawać. Przypuśćmy, że analogiczne badanie sondażowe przeprowadzono na losowej próbie dorosłych mieszkańców Kanady. Rozkład preferencji wobec pory roku zawiera wektor pr.licz.k poniżej:
pr.licz.k <- c(275, 700, 800, 725)
Łączną liczbę wskazań dla poszczególnych pór roku w obu badaniach uzyskamy dodając do siebie dwa wektory:
pr.licz + pr.licz.k
## [1] 650 1350 1450 1550
Dodawanie do siebie dwóch (lub większej liczby) wektorów polega na tym, że do poszczególnej wartości pierwszego wektora dodana zostaje odpowiedni element drugiego wektora, tzn. do pierwszego elementu wektora pr.licz dodaje się pierwszy element wektora pr.licz.k itp.
Mnożenie wektorów przebiega podobnie:
n <- pr.licz + pr.licz.k # Łączna liczba głósów oddanych w obu badaniach
k <- pr.licz.k/n # Udział respondentów kandayjskich w każdej kategorii
n * k # Iloczyn dwóch powyższych wektorów zwraca rozkład liczby głosów w badaniu kanadyjskim
## [1] 275 700 800 725
a <- c(1, 2)
b <- 1:4 # Ciąg liczbowy od 1 do 4
a + b
## [1] 2 4 4 6
Ten sam rezultat uzyskalibyśmy w następującej sytuacji:
a <- c(1, 2, 1, 2)
b <- 1:4
a + b
## [1] 2 4 4 6
u <- c(1, 2, 3)
v <- c(4, 5)
u + v
## Warning message: longer object length is not a multiple of shorter object length
## [1] 5 7 7
Ten sam wynik — ale bez ostrzeżenia — otrzymamy w następującej sytuacji:
u <- c(1, 2, 3)
v <- c(4, 5, 4)
u + v
## [1] 5 7 7
Suma wartości elementów wektora:
sum(pr.licz) # Suma liczebności
## [1] 2500
sum(poraroku) # Suma odsetków
## [1] 100
sum(pr.prop) # Suma proporcji
## [1] 1
Długość wektora:
length(poraroku)
## [1] 4
Wartość najmniejsza
min(pr.licz)
## [1] 375
Wartość największa
max(pr.licz)
## [1] 825