Ferramentas do usuário

Ferramentas do site


02_tutoriais:tutorial3:start

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
02_tutoriais:tutorial3:start [2022/05/31 17:53]
adalardo [Listas]
02_tutoriais:tutorial3:start [2023/08/23 12:24] (atual)
Linha 42: Linha 42:
 </​code>​ </​code>​
  
-Agora vamos extrair ​apena o quinto elemento e em seguida substituir esse elemento pela palavra "​quinto_elemento"​. Em seguida vamos repetir as operações anteriores:+Agora vamos extrair ​apenas ​o quinto elemento e em seguida substituir esse elemento pela palavra "​quinto_elemento"​. Em seguida vamos repetir as operações anteriores:
  
 <code rsplus| Quinto elemento>​ <code rsplus| Quinto elemento>​
Linha 58: Linha 58:
 </​code>​ </​code>​
  
-O que aconteceu aqui? Por que não conseguimos mais operar o vetor "num"? Vamos agora voltar o vetor para sua forma original e operar novamente:+O que aconteceu aqui? Por que não conseguimos mais operar o vetor ''​num''​? Vamos agora voltar o vetor para sua forma original e operar novamente:
  
 <code rsplus| Retorno do elemento>​ <code rsplus| Retorno do elemento>​
Linha 76: Linha 76:
 </​code> ​   </​code> ​  
  
-Como já havíamos visto, ​ uma das característica do vetor é que **só armazena um tipo de natureza de dados** e o R faz a coerção da classe do objeto dependendo da característica desses dados. Incluir algo que não é digito ​ou símbolo de decimal em um objeto da classe numérica faz com que a classe seja convertida automaticamente em ''​character''​. ​+Como já havíamos visto, uma das característica do vetor é que **só armazena um tipo de natureza de dados** e o R faz a coerção da classe do objeto dependendo da característica desses dados. Incluir algo que não é dígito ​ou símbolo de decimal em um objeto da classe numérica faz com que a classe seja convertida automaticamente em ''​character''​. ​
 <WRAP center round tip 60%> <WRAP center round tip 60%>
  
Linha 86: Linha 86:
 ===== Leitura de Dados ===== ===== Leitura de Dados =====
  
-A principal função para a leitura de dados no R é ''​read.table''​. Ela é bem flexível e se aplica para a leitura de dados tabulares como uma planilha eletrônica usual, tendo colunas como variáveis e as linhas como observações. Esta estrutura é análoga a um conjunto de vetores lado a lado, de mesmo comprimento,​ como veremos a seguir. Antes da leitura de dados é importante garantir que temos eles bem organizados em uma planilha. O artigo ​ [[https://​doi.org/​10.1080/​00031305.2017.1375989|Data Organization in Spreedsheets (Broman & Woo, 2018)]] faz uma ótima síntese de boas práticas para estruturar dados brutos em uma planilha, sua leitura é rápida e irá poupar muito tempo futuro e evitar muitos erros comuns que usuários de planilhas cometem. Os exemplos de [[https://​datacarpentry.org/​spreadsheet-ecology-lesson/​02-common-mistakes/|erros comuns em planilhas de ecologia do datacarpentry]] são também muito bons, uma forma interessante de aprender é ser exposto ao que não devemos fazer. ​+A principal função para a leitura de dados no R é ''​read.table''​. Ela é bem flexível e se aplica para a leitura de dados tabulares como uma planilha eletrônica usual, tendo colunas como variáveis e as linhas como observações. Esta estrutura é análoga a um conjunto de vetores lado a lado, de mesmo comprimento,​ como veremos a seguir. Antes da leitura de dados é importante garantir que temos eles bem organizados em uma planilha. O artigo [[https://​doi.org/​10.1080/​00031305.2017.1375989|Data Organization in Spreedsheets (Broman & Woo, 2018)]] faz uma ótima síntese de boas práticas para estruturar dados brutos em uma planilha, sua leitura é rápida e irá poupar muito tempo futuro e evitar muitos erros comuns que usuários de planilhas cometem. Os exemplos de [[https://​datacarpentry.org/​spreadsheet-ecology-lesson/​02-common-mistakes.html|erros comuns em planilhas de ecologia do datacarpentry]] são também muito bons, uma forma interessante de aprender é ser exposto ao que não devemos fazer. ​
  
-Tendo a planilha eletrônica com os dados brutos bem estruturados,​ precisamos exportá-la como arquivo texto puro para fazer a leitura no R. Os arquivos de texto são uma forma eficiente de armazenar dados que tem uma estrutura simples de linhas e colunas. Além de poderem ser abertos em qualquer programa simples de texto e sistema operacional,​ são reconhecidos nas planilhas eletrônicas como estrutura de dados. Normalmente, ​utilisamos ​as extensões ''​.txt''​ ou ''​.csv''​ para designar arquivos texto com campos de dados separados por tabulação e vírgula, respectivamente((existem muitos outros tipos de formatos de armazenamento de dados que incorporam dados mais complexos e georreferenciados)). ​+Tendo a planilha eletrônica com os dados brutos bem estruturados,​ precisamos exportá-la como arquivo texto puro para fazer a leitura no R. Os arquivos de texto são uma forma eficiente de armazenar dados que tem uma estrutura simples de linhas e colunas. Além de poderem ser abertos em qualquer programa simples de texto e sistema operacional,​ são reconhecidos nas planilhas eletrônicas como estrutura de dados. Normalmente, ​utilizamos ​as extensões ''​.txt''​ ou ''​.csv''​ para designar arquivos texto com campos de dados separados por tabulação e vírgula, respectivamente((existem muitos outros tipos de formatos de armazenamento de dados que incorporam dados mais complexos e georreferenciados)). ​
  
-Ao exportar os dados deve ficar atento para algumas opções de exportação da planilha, as principais são os caracteres para designar a separação de campo e o símbolo de decimal. Evite, sempre que possível, caracteres especiais como acentos e aspas (''​ ' '', ​ ''​`'',​ ''"''​),​ se houver a opção de escolher a codificação de caracteres ("​enconding"​) opte pelo [[https://​pt.wikipedia.org/​wiki/​UTF-8|UTF-8]]. ​+Ao exportar os dados deve ficar atento para algumas opções de exportação da planilha, as principais são os caracteres para designar a separação de campo e o símbolo de decimal. Evite, sempre que possível, caracteres especiais como acentos e aspas (''​ ' '',​ ''​`'',​ ''"''​),​ se houver a opção de escolher a codificação de caracteres ("​enconding"​) opte pelo [[https://​pt.wikipedia.org/​wiki/​UTF-8|UTF-8]]. ​
  
 Sabendo o formato que os dados foram salvos no arquivo texto, na maioria dos casos, precisamos apenas do seguintes argumentos para fazer a leitura dos dados no R ((''​read.table''​ é muito flexível, veja a documentação!)):​ Sabendo o formato que os dados foram salvos no arquivo texto, na maioria dos casos, precisamos apenas do seguintes argumentos para fazer a leitura dos dados no R ((''​read.table''​ é muito flexível, veja a documentação!)):​
Linha 100: Linha 100:
 | file | nome do arquivo ((incluíndo a extensão e o caminho, caso não esteja no diretório de trabalho)) |<code rsplus> "​nome_arquivo.txt"</​code>​| <code rsplus>"/​caminho_dir/​nome_arquivo.txt"</​code> ​ | | file | nome do arquivo ((incluíndo a extensão e o caminho, caso não esteja no diretório de trabalho)) |<code rsplus> "​nome_arquivo.txt"</​code>​| <code rsplus>"/​caminho_dir/​nome_arquivo.txt"</​code> ​ |
 | header | nome das variáveis ((utiliza a primeira linha dos dados para o nome das colunas))| <code rsplus>​FALSE </​code>​| <code rsplus>​TRUE </​code>​| | header | nome das variáveis ((utiliza a primeira linha dos dados para o nome das colunas))| <code rsplus>​FALSE </​code>​| <code rsplus>​TRUE </​code>​|
-| sep | separador ((qual o símbolo separa os dados em uma linha. Ex: "​\t"​ é tabulação)) |<code rsplus>"​ " </​code>​| <code rsplus> "," ​   ";" ​   "​\t"</​code>​ |+| sep | separador ((qual o símbolo separa os dados de uma mesma linha em colunas. Ex: "​\t"​ é tabulação)) |<code rsplus>"​ " </​code>​| <code rsplus> "," ​   ";" ​   "​\t"</​code>​ |
 | dec | símbolo de decimal | <code rsplus>"​."​ </​code>​|<​code rsplus> ","​ </​code>​| | dec | símbolo de decimal | <code rsplus>"​."​ </​code>​|<​code rsplus> ","​ </​code>​|
 | as.is| mantenha caracteres ((O padrão até a versão 4.0 do R era transformar caracteres em fator na leitura. A partir dessa versão o padrão mudou e a versão mais recente da função não faz essa transformação automática. )) | <code rsplus> TRUE </​code>​ | <code rsplus>​FALSE </​code>​|  ​ | as.is| mantenha caracteres ((O padrão até a versão 4.0 do R era transformar caracteres em fator na leitura. A partir dessa versão o padrão mudou e a versão mais recente da função não faz essa transformação automática. )) | <code rsplus> TRUE </​code>​ | <code rsplus>​FALSE </​code>​|  ​
Linha 123: Linha 123:
  
  
-Entre na página ​ [[:​dados:​dados-caixeta|levantamento de espécies em caixetais]],​ leia a descrição dos dados e das variáveis e salve o arquivo de dados no diretório de trabalho. ​+Entre na página [[:​dados:​dados-caixeta|levantamento de espécies em caixetais]],​ leia a descrição dos dados e das variáveis e salve o arquivo de dados no diretório de trabalho. ​
  
  
-**Obs.**: Se o arquivo abrir em uma aba do navegador, clique com o botão direito do mouse no link e selecione "​salvar link" ​ LOL+**Obs.**: Se o arquivo abrir em uma aba do navegador, clique com o botão direito do mouse no link e selecione "​salvar link"​. ​
  
 Vamos fazer a leitura do arquivo com o padrão de leitura da função ''​read.table''​ e verificar em seguida a classe e a formatação do arquivo: Vamos fazer a leitura do arquivo com o padrão de leitura da função ''​read.table''​ e verificar em seguida a classe e a formatação do arquivo:
Linha 142: Linha 142:
 </​code>​ </​code>​
  
-Indicando que tentou ler o arquivo, mas algumas linhas tinham ​dimensão ​diferentes, ou seja, o formato não era tabular. Isso ocorre, normalmente devido ao tipo de separador de campo utilizado no arquivo que não é espaço, o padrão da função. No caso, o separador é '',''​ como relatado na documentação dos dados. Vamos usar o argumento ''​sep''​ para indicar o separador. Em seguida vamos verificar a classe do objeto.+Indicando que tentou ler o arquivo, mas algumas linhas tinham ​dimensões ​diferentes, ou seja, o formato não era tabular. Isso ocorre, normalmentedevido ao tipo de separador de campo utilizado no arquivo que não é espaço, o padrão da função. No caso, o separador é '',''​ como relatado na documentação dos dados. Vamos usar o argumento ''​sep''​ para indicar o separador. Em seguida vamos verificar a classe do objeto.
  
  
Linha 170: Linha 170:
 ===== Data Frames ===== ===== Data Frames =====
  
-A classe do objeto é um ''​data.frame''​. Esse é segundo tipo de objetos ​para armazenar dados no R que apresentamos:​ o ''​vetor''​ tem apenas uma dimensão de dados, o ''​data.frame''​ tem duas. Os datas frames no R são conjuntos de vetores de mesmo tamanho, similares a uma planilha de dados. ​ Todas as características que vimos do objeto ''​vetor'',​ valem para as colunas do ''​data.frame''​. Uma outra forma de pensar o data frame é que são variáveis (colunas) de um conjunto de observações (linhas). Assim como deve ser uma planilha de dados bem estruturada.+A classe do objeto é um ''​data.frame''​. Esse é segundo tipo de objeto ​para armazenar dados no R que apresentamos:​ o ''​vetor''​ tem apenas uma dimensão de dados, o ''​data.frame''​ tem duas. Os datas frames no R são conjuntos de vetores de mesmo tamanho, similares a uma planilha de dados. Todas as características que vimos do objeto ''​vetor'',​ valem para as colunas do ''​data.frame''​. Uma outra forma de pensar o data frame é que são variáveis (colunas) de um conjunto de observações (linhas). Assim como deve ser uma planilha de dados bem estruturada.
  
-Vamos insistir em uma sugestão importante, que evita muitos transtornos para quem está iniciando no R é:  depois de efetuar a leitura **sempre verificar a estrutura dos dados antes de iniciar as análises**,​ usando as funções indicadas acima.+Vamos insistir em uma sugestão importante, que evita muitos transtornos para quem está iniciando no R é: depois de efetuar a leitura **sempre verificar a estrutura dos dados antes de iniciar as análises**,​ usando as funções indicadas acima.
  
  
Linha 182: Linha 182:
 </​code>​ </​code>​
  
-Apesar ​de ter sido lido o objeto ​não parece o que deveria. A dimensão do objeto mostra que tem uma observação a mais, os nomes das variáveis não corresponde ao que está definido no metadado e as variáveis foram todas lidas com ''​characters''​ ou ''​factor''​ dependendo da versão do R. O ''​head''​ mostra exatamente o que aconteceu: a linha com os nomes das variáveis foi lida como sendo uma observação. Com isso, todas as variáveis foram classificadas como caracteres. Vamos agora usar o argumento ''​header''​ e fazer novamente a verificação: ​ +Apesar ​do objeto ​ter sido lido, ele não parece o que deveria. A dimensão do objeto mostra que tem uma observação a mais, os nomes das variáveis não corresponde ao que está definido no metadado e as variáveis foram todas lidas com ''​characters''​ ou ''​factor''​ dependendo da versão do R. O ''​head''​ mostra exatamente o que aconteceu: a linha com os nomes das variáveis foi lida como sendo uma observação. Com isso, todas as variáveis foram classificadas como caracteres. Vamos agora usar o argumento ''​header''​ e fazer novamente a verificação: ​
  
  
Linha 193: Linha 193:
 </​code>​ </​code>​
  
-No código acima temos resultados que podem variar dependendo da versão do R. Isso não é muito comum, pois a equipe de desenvolvedores busca manter a compatibilidade ​do scripts entre versões.  ​+No código acima temos resultados que podem variar dependendo da versão do R. Isso não é muito comum, pois a equipe de desenvolvedores busca manter a compatibilidade ​dos scripts entre versões.  ​
  
  
Linha 200: Linha 200:
 **__stringsAsFactors__** **__stringsAsFactors__**
  
-Por padrão, até a versão anterior a 4.0.0 de abril de 2020, o padrão das funções ''​read.table''​ e ''​data.frame''​ era classificar as variáveis com caracteres como sendo um fator. Isso era definido com os padrões dos argumentos ''​stringsAsFactors = TRUE''​ ou ''​as.is = FALSE''​. Desde da versão 4.0.0 o padrão é classificar as variáveis que contém caracteres como sendo ''​character''​. ​ Essa conversão automática para fator é um legado da linguagem S((veja artigo sobre essa mudança em [[https://​developer.r-project.org/​Blog/​public/​2020/​02/​16/​stringsasfactors/​index.html| developer blog]])). ​ +Por padrão, até a versão anterior a 4.0.0 de abril de 2020, o padrão das funções ''​read.table''​ e ''​data.frame''​ era classificar as variáveis com caracteres como sendo um fator. Isso era definido com os padrões dos argumentos ''​stringsAsFactors = TRUE''​ ou ''​as.is = FALSE''​. Desde da versão 4.0.0 o padrão é classificar as variáveis que contém caracteres como sendo ''​character''​.  ​O que acontece é que a partir dessa versão o padrão para ''​as.is = !stringAsFactor''​ e a função ''​read.table''​ incorporou o argumento ''​stringAsFactors = TRUE''​. Ou seja, por padrão o ''​stringAsFactor''​ diz para a função transformar caracteres em fator, mas é sobreposto pelo argumento ''​as.is''​ que inverte o valor lógico com ''​!''​. ​  Essa conversão automática para fator é um legado da linguagem S((veja artigo sobre essa mudança em [[https://​developer.r-project.org/​Blog/​public/​2020/​02/​16/​stringsasfactors/​index.html| developer blog]])).
  
 </​WRAP>​ </​WRAP>​
Linha 208: Linha 208:
  
  
-Vamos então transformar as variáveis ''​local'' ​ e ''​especie''​ para fator, assim independente da versão do R instalada, estaremos todos com a mesma estrutura de objeto.+Vamos então transformar as variáveis ''​local''​ e ''​especie''​ para fator, assim independente da versão do R instalada, estaremos todos com a mesma estrutura de objeto.
    
  
Linha 264: Linha 264:
 </​code>​ </​code>​
  
-Uma outra forma de indexar é pelas posições da linha e coluna. No caso do ''​data.frame''​ isso é feito pela indicação das duas posições separadas por vírgula entre colchetes ''​[ , ]''​. Sempre o valor antes da vírgula se refere a primeira dimensão do ''​data.frame''​ que são as linha (observações) e o valor depois refere-se a coluna (variável).+Uma outra forma de indexar é pelas posições da linha e coluna. No caso do ''​data.frame''​ isso é feito pela indicação das duas posições separadas por vírgula entre colchetes ''​[ , ]''​. Sempre o valor antes da vírgula se refere a primeira dimensão do ''​data.frame''​ que são as linhas ​(observações) e o valor depois refere-se a coluna (variável).
  
  
Linha 361: Linha 361:
 Nesse caso, a indexação da coluna pode ser feita pelo nome da variável ou pela posição e também pode ser combinada. Nesse caso, a indexação da coluna pode ser feita pelo nome da variável ou pela posição e também pode ser combinada.
  
-E se quisermos o inverso, o nome e a idade dos que nasceram depois de 1940?  Precisamos só inverter o vetor de ''​TRUE''​ e ''​FALSE''​ usando o operador ''​!'':​+E se quisermos o inverso, o nome e a idade dos que nasceram depois de 1940? Precisamos só inverter o vetor de ''​TRUE''​ e ''​FALSE''​ usando o operador ''​!'':​
  
  
Linha 400: Linha 400:
 ==== Salvando Data Frame ==== ==== Salvando Data Frame ====
  
-Após manipular os dados no R podemos salvar uma nova versão em um arquivo texto. Para salvar a nossa nova versão dos dados de caixetais, que incorpora o ''​dap'',​ usamos a função ''​write.table''​. Os parâmetros são parecidos com a função de leitura, só que precisamos indicar qual o objeto ​deve ser salvo e nome do arquivo ​que será gravado. Caso queira salvar em um local diferente do diretório de trabalho deve também fornecer o caminho das pastas do computador. Abaixo estamos salvando os dados no arquivo ''​caixeta.txt'',​ com os campos separados por tabulação (''​\t''​) e indicando que não queremos salvar nomes de linhas((Por padrão a função ''​write.table''​ salvará o valor de indexação da linha como o nome da observação)) (''​row.names= FALSE''​) ​+Após manipular os dados no R podemos salvar uma nova versão em um arquivo texto. Para salvar a nossa nova versão dos dados de caixetais, que incorpora o ''​dap'',​ usamos a função ''​write.table''​. Os parâmetros são parecidos com a função de leitura, só que precisamos indicar qual o objeto ​ser salvo e nome do arquivo ​no qual ele será gravado. Caso queira salvar em um local diferente do diretório de trabalho deve também fornecer o caminho das pastas do computador. Abaixo estamos salvando os dados no arquivo ''​caixeta.txt'',​ com os campos separados por tabulação (''​\t''​) e indicando que não queremos salvar nomes de linhas((Por padrão a função ''​write.table''​ salvará o valor de indexação da linha como o nome da observação)) (''​row.names= FALSE''​) ​
  
 <code rsplus| Salvando arquivos de dados> <code rsplus| Salvando arquivos de dados>
Linha 426: Linha 426:
 </​code> ​ </​code> ​
  
-Agora podemos rodar novamente a linha de comando do ''​write.table''​ e  gravar o nosso arquivo ''​caixeta.txt''​ no diretório ''​dados'',​ subordinado ao diretório de trabalho que a sessão do R está associado.+Agora podemos rodar novamente a linha de comando do ''​write.table''​ e gravar o nosso arquivo ''​caixeta.txt''​ no diretório ''​dados'',​ subordinado ao diretório de trabalho que a sessão do R está associado.
  
  
Linha 432: Linha 432:
 **__Formato de Arquivo de Dados__** **__Formato de Arquivo de Dados__**
  
-Arquivos de dados no formato de texto são uma forma segura de salvar conjunto de dados pequenos ou medianos ( ~100 mil registros). Os formatos mais usados são os com campo separados por espaço (padrão do ''​read.table''​), ​separado ​por vírgula ou ponto e vírgula, normalmente com extensão ''​.csv'',​ ou tabulação,​ normalmente com extensão ''​.txt''​. A extensão é apenas uma indicação de formato e como é possível salvar o arquivo com qualquer extensão, precisamos saber qual estrutura foi utilizada para salvar os dados. O excel em sistemas operacionais em português salva arquivos ''​csv''​ separados por '';'',​ com símbolo de decimal '','',​ o que causa bastante confusão. Nossa sugestão é que  configure seu computador para decimal com ''​.''​ e estabeleça o seu padrão de separação de campo, deixando indicado em um arquivo acessório de metadados. Antes de ler um arquivo de dados de texto que desconheça a formatação,​ abra em um arquivo de edição de texto simples, como o bloco de notas, para verificar os símbolos de separação de campo e decimal.+Arquivos de dados no formato de texto são uma forma segura de salvar conjunto de dados pequenos ou medianos ( ~100 mil registros). Os formatos mais usados são os com campo separados por espaço (padrão do ''​read.table''​), ​separados ​por vírgula ou ponto e vírgula, normalmente com extensão ''​.csv'',​ ou tabulação,​ normalmente com extensão ''​.txt''​. A extensão é apenas uma indicação de formato e como é possível salvar o arquivo com qualquer extensão, precisamos saber qual estrutura foi utilizada para salvar os dados. O excel em sistemas operacionais em português salva arquivos ''​csv''​ separados por '';'',​ com símbolo de decimal '','',​ o que causa bastante confusão. Nossa sugestão é que configure seu computador para decimal com ''​.''​ e estabeleça o seu padrão de separação de campo, deixando indicado em um arquivo acessório de metadados. Antes de ler um arquivo de dados de texto que desconheça a formatação,​ abra em um arquivo de edição de texto simples, como o bloco de notas, para verificar os símbolos de separação de campo e decimal.
  
  
Linha 447: Linha 447:
 ===== Matrizes ===== ===== Matrizes =====
  
-Outro tipo de objeto no R com estrutura tabular é a ''​matrix'',​ que está associado à álgebra linear. A principal diferença com ''​data.frame''​ é que  ''​matrix''​ só aceita uma classe de dados, assim como ''​vector''​. A ''​matrix''​ é usada no sentido de matrizes da álgebra linear e operações matriciais.+Outro tipo de objeto no R com estrutura tabular é a ''​matrix'',​ que está associado à álgebra linear. A principal diferença com ''​data.frame''​ é que ''​matrix''​ só aceita uma classe de dados, assim como ''​vector''​. A ''​matrix''​ é usada no sentido de matrizes da álgebra linear e operações matriciais.
  
 Vamos aprender o objeto ''​matrix''​ associada ao estudo de dinâmica populacional. ​   Vamos aprender o objeto ''​matrix''​ associada ao estudo de dinâmica populacional. ​  
Linha 568: Linha 568:
 **__Modelos Matriciais de Dinâmica Populacional__** **__Modelos Matriciais de Dinâmica Populacional__**
  
-Com um pouco mais álgebra linear você pode obter muito mais informações sobre características da população biológica, apenas a partir das informações intrínsecas da matriz de transição (autovalores e autovetores). Por exemplo, a taxa de crescimento (λ) da população é o primeiro autovalor da matriz de transição,​ enquanto que o valor reprodutivo e a distribuição da proporção dos estágios no equilíbrio estão relacionados aos autovetores. Esses valores podem ser obtidos com a função ''​eigen''​((consulte a ajuda para interpretar o resultados dessa função)). Para saber como calcular esses valores veja o [[http://​ecologia.ib.usp.br/​ecopop/​doku.php?​id=roteiros:​matriz|roteiro da disciplina de ecologia de populações]] na qual esse tópico foi baseado.  ​+Com um pouco mais de álgebra linear você pode obter muito mais informações sobre características da população biológica, apenas a partir das informações intrínsecas da matriz de transição (autovalores e autovetores). Por exemplo, a taxa de crescimento (λ) da população é o primeiro autovalor da matriz de transição,​ enquanto que o valor reprodutivo e a distribuição da proporção dos estágios no equilíbrio estão relacionados aos autovetores. Esses valores podem ser obtidos com a função ''​eigen''​((consulte a ajuda para interpretar o resultados dessa função)). Para saber como calcular esses valores veja o [[http://​ecologia.ib.usp.br/​ecopop/​doku.php?​id=roteiros:​matriz|roteiro da disciplina de ecologia de populações]] na qual esse tópico foi baseado.  ​
  
  
Linha 583: Linha 583:
  
  
-Um formato de dados clássico em ecologia de comunidades é o de espécies por localidade, como a ocorrência ou a contagem de indivíduos. ​ Já usamos a função ''​table''​ para contagem de uma variável tipo ''​fator''​. Vamos construir essa nova estrutura de dados a partir do objeto ''​caixeta''​ e fazer a coerção para a classe matrix.  ​+Um formato de dados clássico em ecologia de comunidades é o de espécies por localidade, como a ocorrência ou a contagem de indivíduos. Já usamos a função ''​table''​ para contagem de uma variável tipo ''​fator''​. Vamos construir essa nova estrutura de dados a partir do objeto ''​caixeta''​ e fazer a coerção para a classe matrix.  ​
  
  
Linha 634: Linha 634:
 === Combinando colunas ou linhas === === Combinando colunas ou linhas ===
  
-As funções ''​rbind''​ e ''​cbind''​ são utilizada ​para concatenar dados tabulares pelas linhas ou colunas. Entretanto, só funcionam se a estrutura é a mesma, ou seja as variáveis são as mesmas e na mesma posição para acrescentar novas observações,​ ou as observações estão nas mesmas linhas para acrescentar novas variáveis.+As funções ''​rbind''​ e ''​cbind''​ são utilizadas ​para concatenar dados tabulares pelas linhas ou colunas. Entretanto, só funcionam se a estrutura é a mesma, ou seja as variáveis são as mesmas e na mesma posição para acrescentar novas observações,​ ou as observações estão nas mesmas linhas para acrescentar novas variáveis.
  
 <code rsplus| Combinando matrizes> ​ <code rsplus| Combinando matrizes> ​
Linha 653: Linha 653:
 ==== Outras formas de combinar ==== ==== Outras formas de combinar ====
  
-Quando colunas ou linhas não podem ser combinadas diretamente,​ porque as posição ​não são compatíveis,​ podemos usar as funções ''​merge''​ e ''​match''​. O ''​merge''​ combina dois objetos por uma coluna que é a referência comum, combinando as variáveis de ambos ''​dataframe''​. O ''​match''​ funciona também a partir de uma variável comum a ambos objetos e produz um índice de posição que ordena um dos objetos na mesma posição que o outro. O ''​match''​ é um pouco mais dificil ​de entender, mas é uma ferramenta poderosa para manipular dados tabulares. Abaixo apresentamos ambas funções manipulando dados muito simples para demonstrar como funcionam.+Quando colunas ou linhas não podem ser combinadas diretamente,​ porque as posições ​não são compatíveis,​ podemos usar as funções ''​merge''​ e ''​match''​. O ''​merge''​ combina dois objetos por uma coluna que é a referência comum, combinando as variáveis de ambos ''​dataframe''​. O ''​match''​ funciona também a partir de uma variável comum a ambos objetos e produz um índice de posição que ordena um dos objetos na mesma posição que o outro. O ''​match''​ é um pouco mais difícil ​de entender, mas é uma ferramenta poderosa para manipular dados tabulares. Abaixo apresentamos ambas funções manipulando dados muito simples para demonstrar como funcionam.
  
 <code rsplus| Merge> <code rsplus| Merge>
Linha 771: Linha 771:
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
-Lembre-se sempre de olhar o ''​help''​. Não cometa o 7º pecado da lista do início desse tutorial, acostume-se com a documentação e como a sua estrutura. ​Toda as funções nesse tutorial apresentam um hiperlink que leva à sua documentação. ​+Lembre-se sempre de olhar o ''​help''​. Não cometa o 7º pecado da lista do início desse tutorial, acostume-se com a documentação e como a sua estrutura. ​Todas as funções nesse tutorial apresentam um hiperlink que leva à sua documentação. ​
  
  
02_tutoriais/tutorial3/start.1654030428.txt.gz · Última modificação: 2022/05/31 17:53 por adalardo