É um vetor genérico contendo objetos de mesmo tipo.
n = c(2, 3, 5)
s = c("aa", "bb", "cc", "dd", "ee")
b = c(TRUE, FALSE, TRUE, FALSE, FALSE)
x = list(n, s, b, 3)
x;
[[1]] [1] 2 3 5 [[2]] [1] "aa" "bb" "cc" "dd" "ee" [[3]] [1] TRUE FALSE TRUE FALSE FALSE [[4]] [1] 3
x[1]
[[1]] [1] 2 3 5
x[c(2,4)]
[[1]] [1] "aa" "bb" "cc" "dd" "ee" [[2]] [1] 3
x[[1]]
[1] "aa" "bb" "cc" "dd" "ee"
x[[2]][1] = "ta";
x[[2]];
s;
[1] "ta" "bb" "cc" "dd" "ee" [1] "aa" "bb" "cc" "dd" "ee"
Transforma a complexidade de uma lista em um vetor.
unlist(x[[2]])
unlist(x)
[1] "ta" "bb" "cc" "dd" "ee" [1] "2" "3" "5" "ta" "bb" "cc" "dd" "ee" "TRUE" [10] "FALSE" "TRUE" "FALSE" "FALSE" "3"
Pode ser utilizada para imprimir na tela.
Membros de uma lista podem ser nomeados.
v = list(bob=c(2, 3, 5), john=c("aa", "bb"))
v;
$bob [1] 2 3 5 $john [1] "aa" "bb"
v[["bob"]]
v[c("john", "bob")]
[1] 2 3 5 $john [1] "aa" "bb" $bob [1] 2 3 5
v$bob;
[1] 2 3 5
Uma lista tem um tamanho
l = list(1,2,3,4,5);
length(l);
[1] 5
Tem uma cabeça e um rabo
str(l)
str(head(l, n = 1));
str(tail(l, n = length(l)-1));
List of 5 $ : num 1 $ : num 2 $ : num 3 $ : num 4 $ : num 5 List of 1 $ : num 1 List of 4 $ : num 2 $ : num 3 $ : num 4 $ : num 5
Uma atribuição simples.
# uma atribuição do valor 2 a f
f <- 2;
Funções sem nomes são definidas assim.
# f agora se tornará uma função
f <- function (x) {
return(x);
}
f <- function (x) {
# o último comando da função se
# torna seu valor de retorno
x
}
f <- function (x)
{
f(x);
}
f(1)
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Não esqueça do critério de parada.
x <- 3;
y <- 4;
+ x
- x
x + y
x - y
x * y
x / y
x ^ y
x %% y
x %/% y
[1] 3 [1] -3 [1] 7 [1] -1 [1] 12 [1] 0.75 [1] 81 [1] 3 [1] 0