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 [2023/08/15 17:38]
127.0.0.1 edição externa
03_apostila:04-dados [2023/08/15 18:33] (atual)
Linha 19: Linha 19:
 > meu.vetor <- c(10.5,​11.3,​12.4,​5.7) > meu.vetor <- c(10.5,​11.3,​12.4,​5.7)
 > meu.vetor > meu.vetor
-[1] 10.5 11.3 12.4  5.7+[1] 10.5 11.3 12.4 5.7
 > >
 > vetor.vazio <- c() > vetor.vazio <- c()
Linha 666: Linha 666:
 </​code>​ </​code>​
  
-Os argumentos básicos da função são o //​data.frame// ​com os valores (''​x''​),​ o(s) fator(es) que definem os subconjuntos ​(''​by'',​ que deve ser uma lista), e a função a calcular de cada vetor do //data frame// ​(''​FUN''​). ​+Os argumentos básicos da função são o objeto ​com os valores (''​x''​),​ o(s) fator(es) que definem os subgrupos ​(''​by'',​ que deve ser uma lista), e a função a ser aplicada a cada vetor em ''​x'' ​(''​FUN''​). ​
  
  
Linha 884: Linha 884:
   - Crie um objeto da classe matriz com esses valores. Isso permite realizar as operações matriciais a seguir.   - Crie um objeto da classe matriz com esses valores. Isso permite realizar as operações matriciais a seguir.
   - Para calcular o número de indivíduos em cada estágio após um intervalo de tempo, basta multiplicar a matriz de transição pelas abundâncias dos indivíduos em cada estágio. Começando com 50 indivíduos do estágio 1, 25 do estágio 2 e 10 no estágio 3, qual será o número de plantas em cada estágio após três intervalos?   - Para calcular o número de indivíduos em cada estágio após um intervalo de tempo, basta multiplicar a matriz de transição pelas abundâncias dos indivíduos em cada estágio. Começando com 50 indivíduos do estágio 1, 25 do estágio 2 e 10 no estágio 3, qual será o número de plantas em cada estágio após três intervalos?
-  - **Opcional**:​ A taxa de crescimento geométrico da população é o primeiro autovalor da matriz de transição,​ que pode ser calculado com a função ''​eigen''​((consulte a ajuda para interpretar o resultados dessa função)). ​ Se a taxa é maior que um a população está crescendo. É o caso dessa população?​+  - **Opcional**:​ A taxa de crescimento geométrico da população é o primeiro autovalor da matriz de transição,​ que pode ser calculado com a função ''​eigen''​((consulte a ajuda para interpretar o resultados dessa função)). Se a taxa é maior que um a população está crescendo. É o caso dessa população?​
 </​box>​ </​box>​
  
Linha 891: Linha 891:
 ===== O R como Ambiente de Operações Vetoriais ===== ===== O R como Ambiente de Operações Vetoriais =====
  
-Na verdade, o R é muito mais que uma simples calculadora. ​ O R é um **ambiente** onde podemos realizar operações vetoriais e matriciais. ​+Na verdade, o R é muito mais que uma simples calculadora. O R é um **ambiente** onde podemos realizar operações vetoriais e matriciais. ​
  
 Além das regras básicas para operações com vetores numéricos (ver [[03-funcoes#​Vetores:​ Operações Matemáticas]]),​ há operações aplicáveis a outros tipos de dados, e as importantíssimas **operações lógicas**, aplicáveis a qualquer classe. Além das regras básicas para operações com vetores numéricos (ver [[03-funcoes#​Vetores:​ Operações Matemáticas]]),​ há operações aplicáveis a outros tipos de dados, e as importantíssimas **operações lógicas**, aplicáveis a qualquer classe.
Linha 902: Linha 902:
 [1] NA [1] NA
 Warning message: Warning message:
-argument is not numeric or logical: returning NA in: mean.default(sp)+argument ​'is' ​not numeric or logical: returning NA in: mean.default(sp)
 >  ​ >  ​
 </​code>​ </​code>​
  
-Mas existem ​algumas ​operações que são próprias desse tipo de vetores:+Mas existem ​muitas ​operações que funcionam ou são próprias desse tipo de vetores:
 <code rsplus> <code rsplus>
-> sort( sp )+> sort( sp ) # ordenação de caracteres em ordem crescente
 [1] "​Myrcia sulfiflora" ​     "​Myrcia sulfiflora" ​     "​Syagrus romanzoffianus"​ [1] "​Myrcia sulfiflora" ​     "​Myrcia sulfiflora" ​     "​Syagrus romanzoffianus"​
 [4] "​Tabebuia cassinoides"​ [4] "​Tabebuia cassinoides"​
 > >
-> grep("​Myrcia",​ sp)+> grep("​Myrcia",​ sp) # busca por elementos do vetor de caracteres contendo "​Myrcia"​
 [1] 1 4 [1] 1 4
 > >
-> table( sp )+> table( sp ) # contagem do numero de elementos para cada classe de elemento ​
 sp sp
      ​Myrcia sulfiflora Syagrus romanzoffianus ​  ​Tabebuia cassinoides      ​Myrcia sulfiflora Syagrus romanzoffianus ​  ​Tabebuia cassinoides
                      ​2 ​                     1                      1                      ​2 ​                     1                      1
 +>                     
 +> sub("​Myrcia",​ "​M.",​ sp ) # substituição de caracteres
 +[1] "M. sulfiflora" ​         "​Syagrus romanzoffianus"​ "​Tabebuia cassinoides" ​  "​M. sulfiflora"​
 +>
 +> strsplit(sp,​ " ") # divisão de cada elemento do vetor por um dado caractere ou símbolo (no caso, um espaço)
 +[[1]]
 +[1] "​Myrcia" ​    "​sulfiflora"​
 +
 +[[2]]
 +[1] "​Syagrus" ​       "​romanzoffianus"​
 +
 +[[3]]
 +[1] "​Tabebuia" ​   "​cassinoides"​
 +
 +[[4]]
 +[1] "​Myrcia" ​    "​sulfiflora"​
 +>
 </​code>​ </​code>​
 +
 +Também é possível concatenar vetores de caracteres usando a função ''​paste'': ​
 +
 <code rsplus> <code rsplus>
  
Linha 935: Linha 955:
 ==== Operações Lógicas ==== ==== Operações Lógicas ====
  
-Algumas operações são válidas para qualquer tipo de vetor. ​ Essas operações envolvem comparações e são chamadas de operações lógicas:+Algumas operações são válidas para qualquer tipo de vetor. Essas operações envolvem comparações e são chamadas de operações lógicas:
 <code rsplus> <code rsplus>
 > "​Tabebuia cassinoides"​ == sp > "​Tabebuia cassinoides"​ == sp
Linha 1048: Linha 1068:
 === Uma maneira simples de quantificar frequências === === Uma maneira simples de quantificar frequências ===
  
-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 rsplus> <code rsplus>
 > f > f
Linha 1128: Linha 1148:
 ===== Subconjuntos e Indexação ===== ===== Subconjuntos e Indexação =====
  
-Frequentemente teremos que trabalhar não com um vetor inteiro, mas com um //​subconjunto//​ dele.  Para obter subconjuntos de um vetor temos que realizar operações de **indexação**,​ isto é, associar ao vetor um outro vetor de mesmo tamanho com os **índices** dos elementos selecionados. ​+Frequentemente teremos que trabalhar não com um vetor inteiro, mas com um //​subconjunto//​ dele. Para obter subconjuntos de um vetor temos que realizar operações de **indexação**,​ isto é, associar ao vetor um outro vetor de mesmo tamanho com os **índices** dos elementos selecionados. ​
  
-O **operador** de indexação é o colchetes ​'''​[]''',​ e um vetor pode ser indexado de três formas principais:+O **operador** de indexação é o colchetes ''​[]'',​ e um vetor pode ser indexado de três formas principais:
  
-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 rsplus> <code rsplus>
 > a > a
Linha 1162: Linha 1182:
  
  
-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 rsplus> <code rsplus>
 > b > b
Linha 1179: Linha 1199:
 </​code>​ </​code>​
  
-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 rsplus> <code rsplus>
 > b > b
Linha 1191: Linha 1211:
  
 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 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 substituída ​por "​Abuso",​ por esse motivo para rodar as linhas de código deve retornar a palavra para o idioma inglesa. ​
 </​WRAP>​ </​WRAP>​
  
  
 +<code rsplus>
 ## Primeiras 5 linhas do data frame USArrests (crimes/​1000 habitantes em cada estado dos EUA, em 1973): ## Primeiras 5 linhas do data frame USArrests (crimes/​1000 habitantes em cada estado dos EUA, em 1973):
 > USArrests[1:​5,​] > USArrests[1:​5,​]
Linha 1215: Linha 1236:
 </​code>​ </​code>​
  
-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 rsplus> <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á"​)
-> zoo[ c("​anta","​guará"​) ]+> zoo[ c("​anta",​ "​guará"​) ]
  anta guará  anta guará
    ​10 ​   45    ​10 ​   45
03_apostila/04-dados.1692131908.txt.gz · Última modificação: 2023/08/15 17:38 por 127.0.0.1