(IV) Funkcje cbind() i rbind()

Funkcje cbind() i rbind() są oczywiste dla wektorów, macierzy, ramek danych i niektórych innych klas obiektów, takich jak szeregi czasowe. Funkcja cbind() wiąże kolumny. Funkcja rbind() wiąże wiersze. W przypadku list, które nie są podobne do macierzy, funkcje zwracają typ i liczbę elementów w każdym z elementów najwyższego poziomu argumentów list, tworząc macierz typów z liczbami całkowitymi. Listy można wiązać z obiektami niebędącymi listami. Wynik będzie listą, ale argumenty niebędące listą nie zostaną przekonwertowane tak, jak część wyniku będąca listą.

W wywołaniu funkcji obiekty do powiązania są oddzielane przecinkami. W przypadku cbind() wektory są traktowane jako kolumny. W przypadku rbind() wektory są traktowane jako wiersze. W przypadku wektorów wiązane wektory nie muszą mieć tej samej długości. Cykl wektorów. W przypadku obiektów o wyższych wymiarach obiekty poruszają się cyklicznie, aż powiązany obiekt zostanie wypełniony, jeśli dla rbind() liczby kolumn są wielokrotnościami siebie, a dla cbind() liczba wierszy jest wielokrotnością siebie. W przeciwnym razie funkcje wyświetlają błąd, jeśli występuje niezgodność wiersza / kolumny. Wynikowy obiekt przyjmuje typ wprowadzonego obiektu najwyższego poziomu, w którym hierarchia, od najniższego do najwyższego, jest surowa, logiczna, całkowita, podwójna, zespolona, ​​znakowa i lista. Istnieje jeden argument funkcji cbind() i rbind() inny niż obiekty, które mają być powiązane – argument deparse.level, który jest używany do tworzenia etykiet dla obiektów, które nie są podobne do macierzy. Argument jest argumentem będącym liczbą całkowitą i może przyjmować wartości 0, 1 lub 2, chociaż działa każda wartość, którą można przekształcić w liczbę całkowitą. Wartości, które nie dają 1 lub 2, gdy są przekształcane do liczby całkowitej, dają taki sam wynik jak 0. Wartość domyślna to 1. Dla ramek danych, jeśli ramka danych jest zawarta w obiektach, które mają być powiązane, i na liście, która nie jest danymi ramka nie jest uwzględniona, wynikiem jest ramka danych. W takim przypadku wszystkie kolumny znaków są zamieniane na współczynniki, chyba że określono inaczej. W przypadku szeregów czasowych cbind () daje wielowymiarowe szeregi czasowe, podczas gdy dla rbind () szereg czasowy powraca do macierzy. Oto przykład:

> ab.list = list(one=1:5,two=3:7)

> ab.list

$one

[1] 1 2 3 4 5

$two

[1] 3 4 5 6 7

> cbind(ab.list,1:4)

ab.list

[1,] Integer,5 1

[2,] Integer,5 2

[3,] Integer,5 3

[4,] Integer,5 4

> rbind(1:3,3:5,5:7)

[,1] [,2] [,3]

[1,] 1 2 3

[2,] 3 4 5

[3,] 5 6 7

Funkcje cbind() i rbind() są oczywiste dla wektorów, macierzy, ramek danych i niektórych innych klas obiektów, takich jak szeregi czasowe. Funkcja cbind() wiąże kolumny. Funkcja rbind() wiąże wiersze. W przypadku list, które nie są podobne do macierzy, funkcje zwracają typ i liczbę elementów w każdym z elementów najwyższego poziomu argumentów list, tworząc macierz typów z liczbami całkowitymi. Listy można wiązać z obiektami niebędącymi listami. Wynik będzie listą, ale argumenty niebędące listą nie zostaną przekonwertowane tak, jak część wyniku będąca listą.

W wywołaniu funkcji obiekty do powiązania są oddzielane przecinkami. W przypadku cbind() wektory są traktowane jako kolumny. W przypadku rbind() wektory są traktowane jako wiersze. W przypadku wektorów wiązane wektory nie muszą mieć tej samej długości. Cykl wektorów. W przypadku obiektów o wyższych wymiarach obiekty poruszają się cyklicznie, aż powiązany obiekt zostanie wypełniony, jeśli dla rbind() liczby kolumn są wielokrotnościami siebie, a dla cbind() liczba wierszy jest wielokrotnością siebie. W przeciwnym razie funkcje wyświetlają błąd, jeśli występuje niezgodność wiersza / kolumny. Wynikowy obiekt przyjmuje typ wprowadzonego obiektu najwyższego poziomu, w którym hierarchia, od najniższego do najwyższego, jest surowa, logiczna, całkowita, podwójna, zespolona, ​​znakowa i lista. Istnieje jeden argument funkcji cbind() i rbind() inny niż obiekty, które mają być powiązane – argument deparse.level, który jest używany do tworzenia etykiet dla obiektów, które nie są podobne do macierzy. Argument jest argumentem będącym liczbą całkowitą i może przyjmować wartości 0, 1 lub 2, chociaż działa każda wartość, którą można przekształcić w liczbę całkowitą. Wartości, które nie dają 1 lub 2, gdy są przekształcane do liczby całkowitej, dają taki sam wynik jak 0. Wartość domyślna to 1. Dla ramek danych, jeśli ramka danych jest zawarta w obiektach, które mają być powiązane, i na liście, która nie jest danymi ramka nie jest uwzględniona, wynikiem jest ramka danych. W takim przypadku wszystkie kolumny znaków są zamieniane na współczynniki, chyba że określono inaczej. W przypadku szeregów czasowych cbind () daje wielowymiarowe szeregi czasowe, podczas gdy dla rbind () szereg czasowy powraca do macierzy. Oto przykład:

> ab.list = list(one=1:5,two=3:7)

> ab.list

$one

[1] 1 2 3 4 5

$two

[1] 3 4 5 6 7

> cbind(ab.list,1:4)

ab.list

[1,] Integer,5 1

[2,] Integer,5 2

[3,] Integer,5 3

[4,] Integer,5 4

> rbind(1:3,3:5,5:7)

[,1] [,2] [,3]

[1,] 1 2 3

[2,] 3 4 5

[3,] 5 6 7

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *