104.04 Seleção natural em pardais
O arquivo passer.csv contém dados coletados pelo pesquisador Hermon Bumpus, professor na Universidade de Brown no final do século XIX. No inverno de 1898 ele observou, após uma tempestade de neve intensa, vários indivíduos de pardais (Passer domesticus) caídos na praia, alguns vivos e desnorteados, mas vários mortos. Ele aproveitou essa observação para estimar se havia alguma característica morfológica dos pardais que influenciaram a chance de sobrevivência. Além disso, a diferença entre as médias das características morfológicas entre indivíduos sobreviventes e de toda a população (sobreviventes e mortos) é uma medida utilizada para a inferência da força de seleção.
- Baixe o arquivo passer.csv no seu diretório de trabalho [setwd] e leia os dados no R, atribuindo ao objeto de dados o nome
passer. O arquivo de dados tem campos separados por virgula, decimal como ponto e os nomes das variáveis na primeira linha. - Calcule quantos pardais sobreviveram e quantos morreram após a tempestade. Guarde essa informação em um objeto denominado
sobrevive. - Calcule quantos pardais são
adultose quantosjovens. Guarde essa informação em um objeto denominadoetaria. - Crie uma tabela de nome
tabPassercom a contagem destatuseclasse_etariados pardais após a tempestade. Os nomes das colunas devem ser os níveis da variávelstatuse das linhas os níveis da variávelclasse_etaria. Garanta que o objeto é da classetable. - Crie um objeto chamado
adultoscontendo apenas os indivíduos adultos presentes no banco de dados. - Calcule as médias das variáveis numéricas do objeto
adultose guarde no objeto vetor de nomemediaAdultosna mesma ordem e com os mesmos nomes que as variáveis do objeto de dados. - Calcule os desvios-padrão e guarde no objeto
sdAdultos. - Reproduza cada valor do objeto
mediaAdultoso número de vezes igual ao número de linhas do objetoadultose guarde esse vetor em um objeto chamadorepadultos. Guarde o objetorepadultosem uma matrix chamadamatMediaAdultos, com o mesmo número de linhas do objetoadultose número de colunas igual ao número de variáveis numéricas. Essa matriz deve ter colunas com valores repetidos das médias de cada variável numérica.
- Repita a mesma operação para o vetor
sdAdultose crie amatrixchamadamatSdAdultos
- Crie o objeto
stdPassercom a cópia do objetoadultos. - No objeto
stdPasseruse a indexação para operar apenas as colunas das variáveis numéricas e subtraia pelamatMediaAdultose divida pelamatSdAdultos[alg]. - A partir dos dados padronizados de medidas dos adultos, crie um vetor chamado
forca_selecaocontendo a diferença da média dos indivíduos sobreviventes em relação à população adulta antes da seleção para cada uma das variáveis contínuas padronizadas. Garanta que que o vetor de valores esteja acompanhado dos nomes das variáveis. - Ordene o vetor
forca_selecaode forma crescente das medidas que sofrerem menor pressão seletiva para as com maiores forças seletivas absolutas, sem alterar o sinal dos dados [abs].
No objeto passer temos então na primeira coluna a variável status que indica se o pardal sobreviveu ou estava morto, na segunda coluna se era um indivíduo juvenil ou adulto e nas colunas subsequentes várias medidas morfológicas com o nome da estrutura e escala de medida (mm - milimetro, in- polegadas e g- gramas).
Uma vez que cada medida morfológica foi tomada com escalas e dimensões distintas, é difícil comparar a força de seleção natural entre as diferentes características morfológicas. Por isso, os biólogos evolutivos geralmente padronizam medidas quantitativas em unidades de desvio-padrão, com a distribuição centrada em zero e desvio-padrão igual a um. Essas medidas padronizadas podem então ser comparadas. Siga o procedimento descrito abaixo para padronizar as medidas dos pardais adultos.
wd é importante ler o arquivo diretamente do diretório de trabalho para que a checagem do notaR funcione corretamente.
abs valor absoluto ou em módulo é a operação que transforma os valores negativos em positivos, no caso precisa ordenar o vetor do menor valor para o maior em módulo, mas mantendo o sinal dos valores.
alg Operações no R obedecem a precedência de operações algébricas e a ordem das operações aqui importa, garanta que a subtração ocorra antes da divisão.
notas em linguagem R