Funkcje seq() i rep() są używane dla sekwencji i powtarzających się wzorców. W najprostszej formie użycie seq() jest tym samym, co użycie operatora dwukropka do utworzenia sekwencji. Jednak seq() może tworzyć bardziej wyrafinowane sekwencje niż operator dwukropka. Funkcja rep () powtarza pierwszy argument funkcji określoną liczbę razy, przy czym istnieją dwa możliwe sposoby wykonania powtórzenia.
Funkcja seq()
Funkcja seq() ma sześć argumentów. Pierwsze dwa argumenty są wartościami początkowymi i końcowymi sekwencji i mają nazwy from i to. Argumenty from i to mogą przyjmować wartości logiczne, liczbowe lub złożone. W przypadku wartości logicznych TRUE jest przekształcane na jeden, a FALSE na zero. W przypadku wartości złożonych część urojona jest pomijana. Obie opcje do i od są domyślnie ustawione na jeden. Trzeci argument to by. Argument by podaje wartość, o jaką należy zwiększyć sekwencję. Argument by może również przyjmować wartości logiczne, liczbowe i złożone; jednakże nie może równać się FALSE, ponieważ FALSE wymusza na zero i przez to nie może równać się zero. Argument nie musi być podzielony na różnicę między to i from równomiernie. Sekwencja zatrzyma się przy największej wartości mniejszej lub równej, jeśli to jest większa niż from. Jeśli to jest mniejsze niż from, to by musi być ujemne, a sekwencja zatrzymuje się na najmniejszej wartości większej lub równej od. Czwartym argumentem jest length.out. Domyślnie length.out ma wartość NULL. Zamiast by można użyć argumentu length.out. Argument podaje długość sekwencji do wyprowadzenia. Jeśli określono length.out, domyślnie ustawiana jest wartość (to – from) / (length.out-1). Piąty argument to along.with Argument along.with jest również używany w miejsce by. Długość sekwencji do wyprowadzenia określana jest przez długość wzdłuż.with. Szósty argument jest argumentem … dla wszystkich argumentów do lub z funkcji niższego poziomu używanych przez seq(). Oto kilka przykładów:
> seq (3)
[1] 1 2 3
Wprowadzenie tylko jednej wartości bez nazwy daje sekwencję od jednej do największej liczby całkowitej mniejszej lub równej wartości dla wartości dodatnich lub najmniejszej liczby całkowitej większej lub równej wartości, jeśli wartość jest ujemna.
> seq (3, 10)
[1] 3 4 5 6 7 8 9 10
Gdy dwie wartości są wprowadzane bez nazw, pierwsza jest interpretowana jako wartość od, druga jest interpretowana jako wartość do, a przez jest ustawiana jako równa jeden.
> seq (3, 10, 2)
[1] 3 5 7 9
W przypadku wprowadzenia trzech wartości bez nazw, pierwsza jest interpretowana jako wartość od, druga jest interpretowana jako wartość do, a trzecia jest interpretowana jako wartość od.
> seq (3, 10, len = 4)
[1] 3,000000 5,333333 7,666667 10,000000
Tutaj length.out jest skracany do len.
> seq (3, 10, along = c (1,2,1,2))
[1] 3,000000 5,333333 7,666667 10,000000
Tutaj, along.with jest skrócone do along.
> seq (c (1,2,1,2))
[1] 1 2 3 4
Jeśli wektor z więcej niż jednym elementem zostanie wprowadzony jako jedyny argument, utworzona zostanie sekwencja zaczynająca się od jednego, o długości równej jeden i długości równej długości wektora.
> seq (len = 4)
[1] 1 2 3 4
> seq (7, along = c (1,2,1,2))
[1] 7 8 9 10
> seq (7, len = 4)
[1] 7 8 9 10
Wpisanie length.out lub along.with samodzielnie lub z wartością from zwraca wektor rozpoczynający się z wartością from, with by równą 1 i o prawidłowej długości. W przypadku długich sekwencji dostępne są funkcje niższego poziomu, które są szybsze. Zobacz stronę pomocy dla seq (). Więcej informacji o seq () można znaleźć, wpisując ?seq w wierszu polecenia R