R - Variáveis
Uma variável nos fornece armazenamento nomeado que nossos programas podem manipular. Uma variável em R pode armazenar um vetor atômico, grupo de vetores atômicos ou uma combinação de muitos Robjects. Um nome de variável válido consiste em letras, números e pontos ou caracteres sublinhados. O nome da variável começa com uma letra ou o ponto não seguido por um número.
Nome variável | Validade | Razão |
---|---|---|
var_name2. | válido | Possui letras, números, ponto e sublinhado |
var_name% | Inválido | Possui o caractere '%'. Somente ponto (.) E sublinhado são permitidos. |
2var_name | inválido | Começa com um número |
.var_name, var.name |
válido | Pode começar com um ponto (.), Mas o ponto (.) Não deve ser seguido por um número. |
.2var_name | inválido | O ponto inicial é seguido por um número que o torna inválido. |
_var_name | inválido | Começa com _ que não é válido |
Atribuição de Variável
As variáveis podem ter valores atribuídos usando leftward, rightward e igual a operador. Os valores das variáveis podem ser impressos usandoprint() ou cat()função. ocat() função combina vários itens em uma saída de impressão contínua.
# 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")
Quando executamos o código acima, ele produz o seguinte resultado -
[1] 0 1 2 3
var.1 is 0 1 2 3
var.2 is learn R
var.3 is 1 1
Note- O vetor c (TRUE, 1) possui uma combinação de classes lógicas e numéricas. Portanto, a classe lógica é coagida para a classe numérica tornando TRUE como 1.
Tipo de dados de uma variável
Em R, uma variável em si não é declarada de nenhum tipo de dados, mas obtém o tipo de dados do objeto R atribuído a ela. Portanto, R é chamada de linguagem de tipo dinâmico, o que significa que podemos alterar o tipo de dados de uma variável da mesma variável repetidamente ao usá-la em um programa.
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")
Quando executamos o código acima, ele produz o seguinte resultado -
The class of var_x is character
Now the class of var_x is numeric
Next the class of var_x becomes integer
Encontrando Variáveis
Para saber todas as variáveis atualmente disponíveis na área de trabalho, usamos o ls()função. Além disso, a função ls () pode usar padrões para combinar os nomes das variáveis.
print(ls())
Quando executamos o código acima, ele produz o seguinte resultado -
[1] "my var" "my_new_var" "my_var" "var.1"
[5] "var.2" "var.3" "var.name" "var_name2."
[9] "var_x" "varname"
Note - É uma saída de amostra dependendo de quais variáveis são declaradas em seu ambiente.
A função ls () pode usar padrões para combinar os nomes das variáveis.
# List the variables starting with the pattern "var".
print(ls(pattern = "var"))
Quando executamos o código acima, ele produz o seguinte resultado -
[1] "my var" "my_new_var" "my_var" "var.1"
[5] "var.2" "var.3" "var.name" "var_name2."
[9] "var_x" "varname"
As variáveis começando com dot(.) estão ocultos, eles podem ser listados usando o argumento "all.names = TRUE" para a função ls ().
print(ls(all.name = TRUE))
Quando executamos o código acima, ele produz o seguinte resultado -
[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"
Excluindo Variáveis
Variáveis podem ser excluídas usando o rm()função. Abaixo, excluímos a variável var.3. Ao imprimir o valor da variável, o erro é lançado.
rm(var.3)
print(var.3)
Quando executamos o código acima, ele produz o seguinte resultado -
[1] "var.3"
Error in print(var.3) : object 'var.3' not found
Todas as variáveis podem ser excluídas usando o rm() e ls() funcionam juntos.
rm(list = ls())
print(ls())
Quando executamos o código acima, ele produz o seguinte resultado -
character(0)