R - Zmienne

Zmienna zapewnia nam nazwane miejsce do przechowywania, którym mogą manipulować nasze programy. Zmienna w R może przechowywać wektor atomowy, grupę wektorów atomowych lub kombinację wielu obiektów Robject. Prawidłowa nazwa zmiennej składa się z liter, cyfr oraz kropki lub podkreślenia. Nazwa zmiennej zaczyna się od litery lub kropki, po której nie następuje cyfra.

Nazwa zmiennej Ważność Powód
nazwa_zmiennej2. ważny Zawiera litery, cyfry, kropkę i podkreślenie
var_name% Nieważny Ma znak „%”. Dozwolone są tylko kropki (.) I podkreślenia.
2var_name nieważny Rozpoczyna się liczbą

.var_name,

var.name

ważny Może zaczynać się od kropki (.), Ale po kropce (.) Nie powinna następować liczba.
.2var_name nieważny Po kropce początkowej następuje liczba, która czyni ją nieważną.
_var_name nieważny Zaczyna się od _, który jest nieprawidłowy

Przypisanie zmiennej

Zmiennym można przypisać wartości przy użyciu operatora w lewo, w prawo i równości. Wartości zmiennych można wydrukować za pomocąprint() lub cat()funkcjonować. Plikcat() funkcja łączy wiele elementów w jeden ciągły wydruk.

# Assignment using equal operator.
var.1 = c(0,1,2,3)           

# Assignment using leftward operator.
var.2 <- c("learn","R")   

# Assignment using rightward operator.   
c(TRUE,1) -> var.3           

print(var.1)
cat ("var.1 is ", var.1 ,"\n")
cat ("var.2 is ", var.2 ,"\n")
cat ("var.3 is ", var.3 ,"\n")

Kiedy wykonujemy powyższy kod, daje on następujący wynik -

[1] 0 1 2 3
var.1 is  0 1 2 3 
var.2 is  learn R 
var.3 is  1 1

Note- Wektor c (TRUE, 1) jest połączeniem klasy logicznej i numerycznej. Tak więc klasa logiczna jest wymuszana na klasę numeryczną, dzięki czemu PRAWDA jest równa 1.

Typ danych zmiennej

W języku R sama zmienna nie jest zadeklarowana jako dowolny typ danych, a raczej pobiera typ danych przypisanego do niej obiektu R. Tak więc R jest nazywany językiem z typami dynamicznymi, co oznacza, że ​​możemy wielokrotnie zmieniać typ danych tej samej zmiennej, gdy używamy jej w programie.

var_x <- "Hello"
cat("The class of var_x is ",class(var_x),"\n")

var_x <- 34.5
cat("  Now the class of var_x is ",class(var_x),"\n")

var_x <- 27L
cat("   Next the class of var_x becomes ",class(var_x),"\n")

Kiedy wykonujemy powyższy kod, daje on następujący wynik -

The class of var_x is  character 
   Now the class of var_x is  numeric 
      Next the class of var_x becomes  integer

Znajdowanie zmiennych

Aby poznać wszystkie zmienne aktualnie dostępne w obszarze roboczym, używamy ls()funkcjonować. Również funkcja ls () może używać wzorców do dopasowywania nazw zmiennych.

print(ls())

Kiedy wykonujemy powyższy kod, daje on następujący wynik -

[1] "my var"     "my_new_var" "my_var"     "var.1"      
[5] "var.2"      "var.3"      "var.name"   "var_name2."
[9] "var_x"      "varname"

Note - To jest przykładowe wyjście zależne od tego, jakie zmienne są zadeklarowane w twoim środowisku.

Funkcja ls () może używać wzorców do dopasowywania nazw zmiennych.

# List the variables starting with the pattern "var".
print(ls(pattern = "var"))

Kiedy wykonujemy powyższy kod, daje on następujący wynik -

[1] "my var"     "my_new_var" "my_var"     "var.1"      
[5] "var.2"      "var.3"      "var.name"   "var_name2."
[9] "var_x"      "varname"

Zmienne zaczynające się od dot(.) są ukryte, można je wyświetlić przy użyciu argumentu "all.names = TRUE" funkcji ls ().

print(ls(all.name = TRUE))

Kiedy wykonujemy powyższy kod, daje on następujący wynik -

[1] ".cars"        ".Random.seed" ".var_name"    ".varname"     ".varname2"   
[6] "my var"       "my_new_var"   "my_var"       "var.1"        "var.2"        
[11]"var.3"        "var.name"     "var_name2."   "var_x"

Usuwanie zmiennych

Zmienne można usuwać za pomocą rozszerzenia rm()funkcjonować. Poniżej usuwamy zmienną var.3. Podczas drukowania wartość zmiennej jest wyrzucana błąd.

rm(var.3)
print(var.3)

Kiedy wykonujemy powyższy kod, daje on następujący wynik -

[1] "var.3"
Error in print(var.3) : object 'var.3' not found

Wszystkie zmienne można usunąć za pomocą rm() i ls() funkcjonować razem.

rm(list = ls())
print(ls())

Kiedy wykonujemy powyższy kod, daje on następujący wynik -

character(0)