R - Typy danych
Generalnie podczas programowania w dowolnym języku programowania należy używać różnych zmiennych do przechowywania różnych informacji. Zmienne to nic innego jak zarezerwowane miejsca w pamięci do przechowywania wartości. Oznacza to, że podczas tworzenia zmiennej rezerwujesz trochę miejsca w pamięci.
Możesz chcieć przechowywać informacje o różnych typach danych, takich jak znak, szeroki znak, liczba całkowita, zmiennoprzecinkowa, podwójna zmiennoprzecinkowa, wartość logiczna itp. Na podstawie typu danych zmiennej system operacyjny przydziela pamięć i decyduje, co może być przechowywane w zarezerwowana pamięć.
W przeciwieństwie do innych języków programowania, takich jak C i java w R, zmienne nie są deklarowane jako jakiś typ danych. Zmiennym przypisywane są obiekty R, a typ danych obiektu R staje się typem danych zmiennej. Istnieje wiele typów obiektów R. Często używane to -
- Vectors
- Lists
- Matrices
- Arrays
- Factors
- Ramki danych
Najprostszym z tych obiektów jest plik vector objecti istnieje sześć typów danych tych wektorów atomowych, określanych również jako sześć klas wektorów. Pozostałe obiekty R są zbudowane na wektorach atomowych.
Typ danych | Przykład | Zweryfikować |
---|---|---|
Logiczny | PRAWDA FAŁSZ |
daje następujący wynik - |
Numeryczne | 12,3, 5, 999 |
daje następujący wynik - |
Liczba całkowita | 2L, 34L, 0L |
daje następujący wynik - |
Złożony | 3 + 2i |
daje następujący wynik - |
Postać | „a”, „dobry”, „PRAWDA”, „23,4” |
daje następujący wynik - |
Surowy | „Hello” jest przechowywane jako 48 65 6c 6c 6f |
daje następujący wynik - |
W programowaniu w języku R bardzo podstawowymi typami danych są obiekty R. vectorsktóre zawierają elementy różnych klas, jak pokazano powyżej. Proszę zauważyć, że w R liczba klas nie ogranicza się tylko do powyższych sześciu typów. Na przykład możemy użyć wielu wektorów atomowych i stworzyć tablicę, której klasa stanie się tablicą.
Wektory
Jeśli chcesz stworzyć wektor z więcej niż jednym elementem, powinieneś użyć c() funkcja, która oznacza połączenie elementów w wektor.
# Create a vector.
apple <- c('red','green',"yellow")
print(apple)
# Get the class of the vector.
print(class(apple))
Kiedy wykonujemy powyższy kod, daje on następujący wynik -
[1] "red" "green" "yellow"
[1] "character"
Listy
Lista to obiekt R, który może zawierać wiele różnych typów elementów, takich jak wektory, funkcje, a nawet inną listę wewnątrz siebie.
# Create a list.
list1 <- list(c(2,5,3),21.3,sin)
# Print the list.
print(list1)
Kiedy wykonujemy powyższy kod, daje on następujący wynik -
[[1]]
[1] 2 5 3
[[2]]
[1] 21.3
[[3]]
function (x) .Primitive("sin")
Matryce
Macierz to dwuwymiarowy prostokątny zestaw danych. Można go utworzyć za pomocą wejścia wektorowego do funkcji macierzowej.
# Create a matrix.
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
print(M)
Kiedy wykonujemy powyższy kod, daje on następujący wynik -
[,1] [,2] [,3]
[1,] "a" "a" "b"
[2,] "c" "b" "a"
Tablice
Podczas gdy macierze są ograniczone do dwóch wymiarów, tablice mogą mieć dowolną liczbę wymiarów. Funkcja tablicowa przyjmuje atrybut dim, który tworzy wymaganą liczbę wymiarów. W poniższym przykładzie tworzymy tablicę z dwoma elementami, z których każdy jest macierzą 3x3.
# Create an array.
a <- array(c('green','yellow'),dim = c(3,3,2))
print(a)
Kiedy wykonujemy powyższy kod, daje on następujący wynik -
, , 1
[,1] [,2] [,3]
[1,] "green" "yellow" "green"
[2,] "yellow" "green" "yellow"
[3,] "green" "yellow" "green"
, , 2
[,1] [,2] [,3]
[1,] "yellow" "green" "yellow"
[2,] "green" "yellow" "green"
[3,] "yellow" "green" "yellow"
Czynniki
Czynniki to r-obiekty utworzone za pomocą wektora. Przechowuje wektor wraz z różnymi wartościami elementów w wektorze jako etykiety. Etykiety są zawsze znakowe, niezależnie od tego, czy w wektorze wejściowym są numeryczne, czy też znakowe, logiczne itp. Są przydatne w modelowaniu statystycznym.
Czynniki są tworzone przy użyciu factor()funkcjonować. Pliknlevels funkcje podaje liczbę poziomów.
# Create a vector.
apple_colors <- c('green','green','yellow','red','red','red','green')
# Create a factor object.
factor_apple <- factor(apple_colors)
# Print the factor.
print(factor_apple)
print(nlevels(factor_apple))
Kiedy wykonujemy powyższy kod, daje on następujący wynik -
[1] green green yellow red red red green
Levels: green red yellow
[1] 3
Ramki danych
Ramki danych to tabelaryczne obiekty danych. W przeciwieństwie do macierzy w ramce danych, każda kolumna może zawierać różne tryby danych. Pierwsza kolumna może być numeryczna, druga kolumna może być znakowa, a trzecia kolumna może być logiczna. Jest to lista wektorów o równej długości.
Ramki danych są tworzone przy użyciu rozszerzenia data.frame() funkcjonować.
# Create the data frame.
BMI <- data.frame(
gender = c("Male", "Male","Female"),
height = c(152, 171.5, 165),
weight = c(81,93, 78),
Age = c(42,38,26)
)
print(BMI)
Kiedy wykonujemy powyższy kod, daje on następujący wynik -
gender height weight Age
1 Male 152.0 81 42
2 Male 171.5 93 38
3 Female 165.0 78 26