Tryby rekurencyjne i językowe omówione tutaj to lista, funkcja, wywołanie, wyrażenie i nazwa. Lista trybów, funkcja, wywołanie i wyrażenie są trybami rekurencyjnymi. Tryby wywołania i ekspresji są również trybami językowymi. Nazwa trybu to tryb językowy, ale nie tryb rekurencyjny.
Tryb listy
Listy są kolekcjami obiektów, które mogą być w dowolnym trybie i które nie muszą być w tym samym trybie na liście. Tryb listy ma te same trzy funkcje, co tryby atomowe; jest jednak kilka innych. Tworzenie pustej listy różni się od trybów atomowych. Aby utworzyć listę podanej liczby obiektów, których obiektami są wartości NULL, użyj
wektor („lista”, n),
gdzie n jest liczbą obiektów znajdujących się na liście e. Zmienna n musi być liczbowa, jest zaokrąglana w dół do liczby całkowitej i może zawierać tylko jeden element. Funkcja unlist() usuwa właściwość list dla niektórych list i dla tych list zwraca wektor elementów obiektów na liście. Funkcja alist() tworzy listę, na której nie trzeba określać wartości zmiennych na liście. Funkcja alist() jest najczęściej używana do oceny funkcji, gdzie niektóre zmienne mogą być wstępnie określone, a inne są przypisywane przy każdym uruchomieniu funkcji. Funkcja list() tworzy listę z argumentów funkcji. W nawiasach argumenty są oddzielone przecinkami. Argumentami może być dowolny obiekt. Funkcja as.list() próbuje zmusić argument do listy trybów. Jeśli podano więcej niż jeden argument, wymuszany jest tylko pierwszy argument. Pozostałe argumenty są ignorowane. Funkcja is.list () sprawdza, czy argument jest listą (lub listą par, która nie jest tutaj omawiana). Jeśli obiekt znajduje się na liście trybów, zwracana jest wartość PRAWDA. W przeciwnym razie zwracana jest wartość FAŁSZ. Więcej informacji można znaleźć, wprowadzając listę w wierszu polecenia R, co powoduje wyświetlenie strony pomocy dla list().