Dane można wprowadzić ręcznie za pomocą funkcji c (), gdzie c oznacza zbieranie. Czasami potrzebne są dane z określonym wzorcem, na przykład przy ustawianiu indeksów do manipulacji macierzą lub tablicami lub jako dane wejściowe do funkcji. W języku R jest wiele funkcji, które dają wzorowe wyniki, które mogą być przydatne. Czasami dla wymiarów w wektorze, macierzy lub tablicy potrzebne są nazwy indeksowane. Funkcja paste () może służyć do tworzenia nazw indeksowanych.
Funkcja c()
Funkcja c() zbiera obiekty razem w jeden obiekt. Zebrane obiekty są oddzielane przecinkami w wywołaniu c(). Obiekty mogą być NULL, surowe, logiczne, całkowite, podwójne, ciągi znaków (które muszą być cytowane), nazwane obiekty (które muszą być atomowymi obiektami, listami lub wyrażeniami), listy i / lub wyrażenia. Obiekty mogą być również wywołaniami funkcyjnymi, które zwracają dowolną z powyższych klas. Jeśli wszystkie obiekty w wywołaniu są obiektami atomowymi, funkcja c() zbiera obiekty do wektora elementów tworzących obiekty. Klasa wektora wynikowego jest klasą najwyższego poziomu w obrębie elementów wektora, w której poziomy klas rosną w kolejności NULL, surowe, logiczne, całkowite, podwójne, zespolone i znakowe.
Oto przykład hierarchii:
> rw = as.raw(c(36, 37, 38, 39))
> rw
[1] 24 25 26 27
> c(rw, rw)
[1] 24 25 26 27 24 25 26 27
> c(rw, TRUE)
[1] TRUE TRUE TRUE TRUE TRUE
> c(rw, 40)
[1] 36 37 38 39 40
> c(rw, 40.5)
[1] 36.0 37.0 38.0 39.0 40.5
> c(rw, 1+1i)
[1] 36+0i 37+0i 38+0i 39+0i 1+1i
> c(rw, “six”)
[1] “24” “25” “26” “27” “six”
Konwersja z surowego jest automatyczna z wyjątkiem konwersji na znak, która zachowuje surowe wartości. Funkcja c() ma jeden możliwy nazwany argument, argument logiczny rekurencyjny. Wartość domyślna rekursywnego to FALSE. Jeśli recursive ma wartość TRUE, a kolekcja zawiera listę, ale nie zawiera wyrażenia, lista jest rozdzielana na najniższy poziom poszczególnych elementów na liście i zwracany jest wektor elementów atomowych. Obiekt przyjmuje klasę na najwyższym poziomie w obiekcie. Jeśli rekurencja ma wartość FALSE, wynikowy obiekt staje się listą. W hierarchii klas lista znajduje się nad klasami atomowymi, ale poniżej wyrażenia. Jeśli w wywołaniu c() zawarte jest wyrażenie, wynik ma wyrażenie klasy. Oto przykład obiektów listy klas i wyrażenia:
> a.list
[[1]]
cl1 cl2
[1,] 1 3
[2,] 2 4
[[2]]
[1] “abc” “cde”
> c(a.list, 1:2)
[[1]]
cl1 cl2
[1,] 1 3
[2,] 2 4
[[2]]
[1] “abc” “cde”
[[3]]
[1] 1
[[4]]
[1] 2
> c(a.list, 1:2, recursive=T)
[1] “1” “2” “3” “4” “abc” “cde” “1” “2”
> a.expr = expression(y ~ x, `1`)
> c(a.list, a.expr)
expression(1:4, c(“abc”, “cde”), y ~ x, `1`)
W pierwszym wywołaniu c() zwracany jest obiekt listy klas. W drugim wywołaniu zwracany jest obiekt o charakterze klasowym. W trzecim wywołaniu zwracany jest obiekt wyrażenia klasy. Nazwy można przypisać do elementów obiektu utworzonego przez c(), ustawiając elementy równe nazwie na liście – na przykład:
> c (a = 1, b = 2,3)
a b
1 2 3
Tutaj pierwsze dwa elementy mają przypisane nazwy a i b, podczas gdy trzeci element nie ma nazwy. Więcej informacji o c () można znaleźć, wprowadzając ?c w wierszu polecenia R.