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
03_apostila:04-dados [2020/08/20 16:10]
adalardo
03_apostila:04-dados [2020/09/21 13:15] (atual)
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((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.1597950656.txt.gz · Última modificação: 2020/08/20 16:10 por adalardo