Skip to content

Latest commit

 

History

History
245 lines (191 loc) · 3.82 KB

introducao.org

File metadata and controls

245 lines (191 loc) · 3.82 KB

Uma introdução à Linguagem R

1 Listas

É 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

2 Fatiamento de listas

x[1]
[[1]]
[1] 2 3 5
x[c(2,4)]
[[1]]
[1] "aa" "bb" "cc" "dd" "ee"

[[2]]
[1] 3

3 Referência a membros

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"

4 A função unlist

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.

5 Listas nomeadas

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"

6 Fatiamento de listas nomeadas

v[["bob"]]
v[c("john", "bob")] 
[1] 2 3 5
$john
[1] "aa" "bb"

$bob
[1] 2 3 5

7 Fatiamento facilitado

v$bob;
[1] 2 3 5

8 Propriedades de listas

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

9 Funções

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
}

10 Recursividade

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.

11 Operações aritméticas

Arithmetic Operators in R

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