Ferramentas do usuário

Ferramentas do site


03_apostila:04-dados

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
Última revisão Ambos lados da revisão seguinte
03_apostila:04-dados [2020/08/20 16:10]
adalardo
03_apostila:04-dados [2020/09/21 13:15]
adalardo [Atributos de um Objeto de Dados]
Linha 295: Linha 295:
 ==== Atributos de um Objeto de Dados ==== ==== Atributos de um Objeto de Dados ====
  
-Todo objeto no R tem dois atributos básicos, que são o tipo de dado que contém((em termos técnicos, trata-se do modo de armazenamento,​ e.g., apenas números, apenas caracteres, ou uma mistura, que é uma lista)) e o número de elementos que contêm. As funções ''​mode''​ e ''​length''​ retornam esses atributos:+Todo objeto no R tem dois atributos básicos, que são o tipo de dado que contem((em termos técnicos, trata-se do modo de armazenamento,​ e.g., apenas números, apenas caracteres, ou uma mistura, que é uma lista)) e o número de elementos que contêm. As funções ''​mode''​ e ''​length''​ retornam esses atributos:
 <code rsplus> <code rsplus>
 > pares > pares
Linha 1032: Linha 1032:
  
 O sinal de igualdade faz uma comparação entre dois elementos. ​ No R o sinal de igualdade são dois sinais de igual seguidos (**==**). Este operador retorna o resultado do teste lógico //"a igual b?"//, que só pode ter dois valores, ''​T''​ (verdadeiro),​ ou ''​F''​ (falso): O sinal de igualdade faz uma comparação entre dois elementos. ​ No R o sinal de igualdade são dois sinais de igual seguidos (**==**). Este operador retorna o resultado do teste lógico //"a igual b?"//, que só pode ter dois valores, ''​T''​ (verdadeiro),​ ou ''​F''​ (falso):
-<​code>​+<​code ​rsplus>
 > a = 2 + 2 > a = 2 + 2
 > a == 4 > a == 4
Linha 1048: Linha 1048:
  
 Os vetores lógicos ('''​logical'''​) podem participar de operações matemáticas. ​ Nesse caso o valor '''​TRUE'''​ assume o valor 1, e valor '''​FALSE'''​ assume o valor 0: Os vetores lógicos ('''​logical'''​) podem participar de operações matemáticas. ​ Nesse caso o valor '''​TRUE'''​ assume o valor 1, e valor '''​FALSE'''​ assume o valor 0:
-<​code>​+<​code ​rsplus>
 > f > f
 [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE
Linha 1059: Linha 1059:
 </​code>​ </​code>​
 Para ter frequência de dados que satisfaçam uma certa condição basta somar o vetor lógico resultante: Para ter frequência de dados que satisfaçam uma certa condição basta somar o vetor lógico resultante:
-<​code>​+<​code ​rsplus>
 > notas.dos.alunos > notas.dos.alunos
  ​[1] ​ 6.0  5.1  6.8  2.8  6.1  9.0  4.3 10.4  6.0  7.9  8.9  6.8  9.8  4.6 11.3  ​[1] ​ 6.0  5.1  6.8  2.8  6.1  9.0  4.3 10.4  6.0  7.9  8.9  6.8  9.8  4.6 11.3
Linha 1077: Linha 1077:
  
 Considere o seguinte vetor: Considere o seguinte vetor:
-<​code>​+<​code ​rsplus>
 >  cores = c("​amarelo","​vermelho","​azul","​laranja"​) >  cores = c("​amarelo","​vermelho","​azul","​laranja"​)
 > >
 </​code>​ </​code>​
 Para gerar uma amostra, com reposição,​ dessas cores execute o comando: Para gerar uma amostra, com reposição,​ dessas cores execute o comando:
-<​code>​+<​code ​rsplus>
 > muitas.cores = sample(cores,​ 20, TRUE) > muitas.cores = sample(cores,​ 20, TRUE)
 > muitas.cores > muitas.cores
Linha 1100: Linha 1100:
  
 Para gerar uma amostra de 1000 números de uma distribuição Normal com média 23 e desvio padrão 5, utilize o comando: Para gerar uma amostra de 1000 números de uma distribuição Normal com média 23 e desvio padrão 5, utilize o comando:
-<​code>​+<​code ​rsplus>
 > vnormal = rnorm(1000, 23, 5) > vnormal = rnorm(1000, 23, 5)
 </​code> ​ </​code> ​
Linha 1132: Linha 1132:
  
 A) **Vetor de números inteiros positivos**: ​ os números se referem às posições desejadas do vetor indexado. A) **Vetor de números inteiros positivos**: ​ os números se referem às posições desejadas do vetor indexado.
-<​code>​+<​code ​rsplus>
 > a > a
 [1]  1.0000000 10.0000000 ​ 3.4000000 ​ 3.1415927 ​ 0.7853982 ​ 0.3678794 ​ 0.8020016 [1]  1.0000000 10.0000000 ​ 3.4000000 ​ 3.1415927 ​ 0.7853982 ​ 0.3678794 ​ 0.8020016
Linha 1147: Linha 1147:
  
 B) **Vetor de números inteiros negativos**:​ os números se referem as posições **não** desejadas do vetor indexado. B) **Vetor de números inteiros negativos**:​ os números se referem as posições **não** desejadas do vetor indexado.
-<​code>​+<​code ​rsplus>
  a  a
 [1]  1.0000000 10.0000000 ​ 3.4000000 ​ 3.1415927 ​ 0.7853982 ​ 0.3678794 ​ 0.8020016 [1]  1.0000000 10.0000000 ​ 3.4000000 ​ 3.1415927 ​ 0.7853982 ​ 0.3678794 ​ 0.8020016
Linha 1162: Linha 1162:
  
 C) **Vetor lógico**: os elementos do vetor lógico correspondentes a '''​TRUE'''​ são selecionados,​ os elementos correspondentes a '''​FALSE'''​ são excluídos. C) **Vetor lógico**: os elementos do vetor lógico correspondentes a '''​TRUE'''​ são selecionados,​ os elementos correspondentes a '''​FALSE'''​ são excluídos.
-<​code>​+<​code ​rsplus>
 > b > b
 [1] 1 2 3 4 5 6 7 8 [1] 1 2 3 4 5 6 7 8
Linha 1179: Linha 1179:
  
 Na indexação por vetores lógicos, esses vetores devem ter **o mesmo comprimento** do vetor indexado. ​ Caso contrário a operação será defeituosa: Na indexação por vetores lógicos, esses vetores devem ter **o mesmo comprimento** do vetor indexado. ​ Caso contrário a operação será defeituosa:
-<​code>​+<​code ​rsplus>
 > b > b
 [1] 1 2 3 4 5 6 7 8 [1] 1 2 3 4 5 6 7 8
Linha 1190: Linha 1190:
  
 As operações por vetores lógicos podem combinar vários critérios, por meio dos operadores "​E",​ "​OU"​ e "​NÃO":​ As operações por vetores lógicos podem combinar vários critérios, por meio dos operadores "​E",​ "​OU"​ e "​NÃO":​
-<​code>​+<​code ​rsplus>
 <WRAP center round box 60%> <WRAP center round box 60%>
 Por questão de segurança do wiki contra spam algumas palavras são proibidas. Nos exemplos a seguir a palavra "​estupro"​ em inglês foi substituida por "​Abuso",​ por esse motivo para rodar as linhas de código deve retornar a palavra para o idioma inglesa. ​ Por questão de segurança do wiki contra spam algumas palavras são proibidas. Nos exemplos a seguir a palavra "​estupro"​ em inglês foi substituida por "​Abuso",​ por esse motivo para rodar as linhas de código deve retornar a palavra para o idioma inglesa. ​
Linha 1215: Linha 1215:
  
 D) **Vetor caracter**: nesse caso o vetor deve ser //nomeado// (função '''​names'''​) por um vetor '''​character''':​ D) **Vetor caracter**: nesse caso o vetor deve ser //nomeado// (função '''​names'''​) por um vetor '''​character''':​
-<​code>​+<​code ​rsplus>
 > zoo = c(4, 10, 2, 45) > zoo = c(4, 10, 2, 45)
 > names(zoo) = c("​onça",​ "​anta",​ "​tatu",​ "​guará"​) > names(zoo) = c("​onça",​ "​anta",​ "​tatu",​ "​guará"​)
Linha 1230: Linha 1230:
 ==== Indexação de Fatores ==== ==== Indexação de Fatores ====
 A indexação de um fator pode resultar em níveis não usados. Caso você queira exluir esses níveis, use o argumento ''​drop'',​ do operador ''​[]'':​ A indexação de um fator pode resultar em níveis não usados. Caso você queira exluir esses níveis, use o argumento ''​drop'',​ do operador ''​[]'':​
-<​code>​+<​code ​rsplus>
 > tratamentos > tratamentos
  [1] Controle Controle Controle Controle Adubo A  Adubo A  Adubo A  Adubo A  [1] Controle Controle Controle Controle Adubo A  Adubo A  Adubo A  Adubo A
Linha 1257: Linha 1257:
 O modo de indexação de matrizes é ''​[linhas,​colunas]'':​ O modo de indexação de matrizes é ''​[linhas,​colunas]'':​
  
-<​code>​+<​code ​rsplus>
 > matriz > matriz
      [,1] [,2] [,3] [,4]      [,1] [,2] [,3] [,4]
Linha 1275: Linha 1275:
 A mesma notação é válida para //data frames//: A mesma notação é válida para //data frames//:
  
-<​code>​+<​code ​rsplus>
 > USArrests[1:​5,​c(2,​4)] > USArrests[1:​5,​c(2,​4)]
            ​Assault abuso            ​Assault abuso
Linha 1304: Linha 1304:
 Para incluir todas as linhas ou colunas, omita o valor (mas mantenha a vírgula!): Para incluir todas as linhas ou colunas, omita o valor (mas mantenha a vírgula!):
  
-<​code>​+<​code ​rsplus>
 > matriz[,1] > matriz[,1]
 [1] 1 2 3 [1] 1 2 3
Linha 1333: Linha 1333:
 A notação é estendida para um //array// de qualquer dimensão, como o objeto ''​Titanic'',​ que tem quatro dimensões: ​ A notação é estendida para um //array// de qualquer dimensão, como o objeto ''​Titanic'',​ que tem quatro dimensões: ​
  
-<​code>​+<​code ​rsplus>
 > dimnames(Titanic) > dimnames(Titanic)
 $Class $Class
Linha 1374: Linha 1374:
 Combinando as operações de indexação e de atribuição é possível alterar os valores de qualquer parte de um objeto: Combinando as operações de indexação e de atribuição é possível alterar os valores de qualquer parte de um objeto:
  
-<​code>​+<​code ​rsplus>
 > zoo > zoo
  ​onça ​ anta  tatu guará  ​onça ​ anta  tatu guará
Linha 1411: Linha 1411:
 Com a indexação é possível mudar a ordem de um vetor: Com a indexação é possível mudar a ordem de um vetor:
  
-<​code>​+<​code ​rsplus>
 > zoo > zoo
       onça       ​anta ​      tatu lobo-guará       onça       ​anta ​      tatu lobo-guará
Linha 1427: Linha 1427:
 A função ''​order''​ retorna os **índices** dos elementos de um vetor: A função ''​order''​ retorna os **índices** dos elementos de um vetor:
  
-<​code>​+<​code ​rsplus>
 ##Vetor de nomes do vetor zoo: ##Vetor de nomes do vetor zoo:
 > names(zoo) > names(zoo)
Linha 1438: Linha 1438:
  
 E com isso podemos usar seu resultado para ordenar um vetor em função de quaisquer outros: E com isso podemos usar seu resultado para ordenar um vetor em função de quaisquer outros:
-<​code>​+<​code ​rsplus>
 > zoo[order(names(zoo))] > zoo[order(names(zoo))]
       anta lobo-guará ​      ​onça ​      tatu       anta lobo-guará ​      ​onça ​      tatu
Linha 1446: Linha 1446:
 O argumento da função comporta múltiplos vetores de critério. Em caso de empate pelo(s) primeiro(s) critério(s),​ os seguintes são usados: O argumento da função comporta múltiplos vetores de critério. Em caso de empate pelo(s) primeiro(s) critério(s),​ os seguintes são usados:
  
-<​code> ​+<​code ​rsplus
 > cidades > cidades
                  ​regiao estado pop.2007                  ​regiao estado pop.2007
Linha 1498: Linha 1498:
 <box 100% left | //​**Exercício 4.13.** Comando Curto, Resultado nem Tanto//> <box 100% left | //​**Exercício 4.13.** Comando Curto, Resultado nem Tanto//>
 Verifique o resultado do comando: Verifique o resultado do comando:
-<​code>​+<​code ​rsplus>
 > ?"​["​ > ?"​["​
 </​code> ​ </​code> ​
Linha 1505: Linha 1505:
 <box 100% left | //​**Exercício 4.14** Indexação de Listas//>​ <box 100% left | //​**Exercício 4.14** Indexação de Listas//>​
 Crie uma lista com o comando: Crie uma lista com o comando:
-<​code>​+<​code ​rsplus>
 minha.lista <- list(um.vetor=1:​5,​ uma.matriz=matrix(1:​6,​2,​3), ​ minha.lista <- list(um.vetor=1:​5,​ uma.matriz=matrix(1:​6,​2,​3), ​
                     um.dframe=data.frame(seculo=c("​XIX","​XX","​XXI"​),​                     um.dframe=data.frame(seculo=c("​XIX","​XX","​XXI"​),​
Linha 1511: Linha 1511:
 </​code>​ </​code>​
 Qual a diferença entre os subconjuntos obtidos com os três comandos a seguir: Qual a diferença entre os subconjuntos obtidos com os três comandos a seguir:
-<​code>​+<​code ​rsplus>
 minha.lista[1] minha.lista[1]
 minha.lista[[1]] minha.lista[[1]]
Linha 1520: Linha 1520:
  
 Para gerar uma amostra de 10.000 números de uma distribuição Normal com média 30 e desvio padrão 7, utilize o comando: Para gerar uma amostra de 10.000 números de uma distribuição Normal com média 30 e desvio padrão 7, utilize o comando:
-<​code>​+<​code ​rsplus>
 > vnormal = rnorm(10000,​ 30, 7) > vnormal = rnorm(10000,​ 30, 7)
 </​code> ​ </​code> ​
03_apostila/04-dados.txt · Última modificação: 2020/09/21 13:15 por adalardo