Dúvidas - aula "O Grande Exemplo"

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Dúvidas - aula "O Grande Exemplo"

Mensagem por Lidimara em Qua Dez 23, 2015 12:30 pm

Boa tarde Prof. Marcos,

estava assistindo a aula "O Grande Exemplo" e gostei bastante. Então resolvi tentar executar o script com alguns dados que tenho e surgiram dúvidas.

Logo no início apareceu a seguinte mensagem:

> attach(dados)
The following objects are masked from dados (pos = 3):

Cond., N, O2, P, pH, Temp

The following objects are masked from dados (pos = 4):

Cond., N, O2, P, pH, Temp

Existe algum problema em continuar a análise? O que quer dizer essa mensagem?

Além disso, gostaria de perguntar sobre outros detalhes.

1) Na tabela que utiliza como exemplo, a primeira coluna é "UA". No entanto, quando executa o comando "summary(dados[,1:8])" essa primeira coluna não aparece, mas sim começa analisar a partir da coluna "Estado". Como sei a partir de qual coluna o R analisa meus dados?

2) Não sei porque coloca 1 antes da vírgula (como abaixo) e outras vezes não. Ou quando executa o comando para retirar as espécies ausentes não sei o que significam alguns termos, como [,1:17].

summary(dados[,1:8])
amostra1<-dados[1, 2:51]

#Tirando as espécies ausentes:
barplot(tabela.amostra1.ordem[,1:17], las=2, ylab="Frequência",
xlab="Espécie")

Esses detalhes serão esclarecidos? Tenho receio de precisar substituir algum detalhe quando for rodar com meus dados e não o fazer. No exemplo, de retirar as espécies ausentes não sei se esse "[,1:17]" já está informando as colunas em que as espécies estiveram ausentes.

3) Quando faz o gráfico de barras retirando os valores ausentes, faz para um único estado? Como sei de qual estado é o gráfico? Não vi especificado no script. Mas logo após fazer para as localidades, escreve que fará para todas as amostras juntas.

4) Talvez eu quisesse fazer o gráfico da rarefação para cada estado ou pelo menor número de indivíduos, ao invés de fazer pelo número de amostras. Tentei acrescentar [Estado] e especificar as cores, como vi para outros gráficos, mas não deu certo. Como faria?


Desde já agradeço.


Att.,
Lidimara.

Lidimara

Mensagens : 7
Data de inscrição : 22/12/2015
Localização : Juiz de Fora

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Dúvidas - aula "O Grande Exemplo"

Mensagem por Prof. Marcos em Qua Dez 23, 2015 2:15 pm

Oi, Lidimara, tudo bem?

Primeira perguntas do fórum!  Very Happy
Vamos lá.

Lidimara escreveu:

Logo no início apareceu a seguinte mensagem:

> attach(dados)
The following objects are masked from dados (pos = 3):

   Cond., N, O2, P, pH, Temp

The following objects are masked from dados (pos = 4):

   Cond., N, O2, P, pH, Temp

Existe algum problema em continuar a análise? O que quer dizer essa mensagem?


Esta mensagem não é um erro em si, e apenas uma mensagem de alerta. Ela sempre aparece quando executamos o comando attach mais de uma vez com um mesmo conjunto de dados. O R está avisando que com aquele comando attach que você acabou de usar, o último attach foi substituído, pois ele encontrou variáveis com os mesmos nomes.

Este aviso só é importante se você carregar dois conjuntos de dados diferentes mas que tenham variáveis com o mesmo nome. Aí sempre vai valer o último attach usado, e o R sempre vai avisar quais variáveis tinham o mesmo nome, ficando valendo o último comando.

No seu caso, não é nada, então nãos e preocupe.


Lidimara escreveu:
1) Na tabela que utiliza como exemplo, a primeira coluna é "UA". No entanto, quando executa o comando "summary(dados[,1:8])" essa primeira coluna não aparece, mas sim começa analisar a partir da coluna "Estado". Como sei a partir de qual coluna o R analisa meus dados?

Quando lemos os dados do exemplo, usamos o argumento "row.names=1". Com este argumento, a primeira coluna é "absorvida" e tomada como nomes das linhas, por isso ela não é mais vista no R como uma coluna. Este comando é interessante quando as linhas possuem nomes (como nomes de localidades, ou de campanhas de coleta, por exemplo), pois eles podem ser facilmente usados mais tarde em algumas representações gráficas.


Lidimara escreveu:
2) Não sei porque coloca 1 antes da vírgula (como abaixo) e outras vezes não. Ou quando executa o comando para retirar as espécies ausentes não sei o que significam alguns termos, como [,1:17].

summary(dados[,1:8])
amostra1<-dados[1, 2:51]

#Tirando as espécies ausentes:
barplot(tabela.amostra1.ordem[,1:17], las=2, ylab="Frequência",
xlab="Espécie")

Esses detalhes serão esclarecidos? Tenho receio de precisar substituir algum detalhe quando for rodar com meus dados e não o fazer. No exemplo, de retirar as espécies ausentes não sei se esse "[,1:17]" já está informando as colunas em que as espécies estiveram ausentes.


A regra geral é [linhas, colunas]
Nós vamos ver isso nas nossas aulas iniciais, mas pra adiantar um pouco, veja os exemplos:

[ ,1:10] todas as linhas, colunas 1 a 10
[1:5, ] todas as colunas, linhas 1 a 5
[4, 3:7] linha 4, colunas 3 a 7

E assim por diante.

Mas não se preocupe, estes detalhes serão sim esclarecidos. O grande exemplo é mais uma proposta de passar uma visão inicial do potencial do R do que de ensinar mesmo a usar tudo, pois são vários detalhes. Na medida em que avançarmos com o curso, cada etapa e cada detalhezinho serão esclarecidos, certo?


Lidimara escreveu:
3) Quando faz o gráfico de barras retirando os valores ausentes, faz para um único estado? Como sei de qual estado é o gráfico? Não vi especificado no script. Mas logo após fazer para as localidades, escreve que fará para todas as amostras juntas.

O primeiro gráfico de barras feito é de uma única localidade, a que está na primeira linha dos dados. Eu sei disso porque uso o comando:

amostra1<-dados[1, 9:49]
ou seja, selecionei a linha 1 e as colunas 9 a 49.

No segundo, quando uso log, são todos os dados, por conta deste comando:

abundâncias<-colSums(dados[,9:49])
Nele eu somo os dados de todas as linhas, com a função colSums. Então são todos os dados juntos, independente do local de origem,


Lidimara escreveu:
4) Talvez eu quisesse fazer o gráfico da rarefação para cada estado ou pelo menor número de indivíduos, ao invés de fazer pelo número de amostras. Tentei acrescentar [Estado] e especificar as cores, como vi para outros gráficos, mas não deu certo. Como faria?

Aí seria ligeiramente mais complexo, mas com certeza dá para fazer no R. A primeira solução que me vem à cabeça é criar um conjunto de dados no qual somamos as informações de cada estado em uma linha, de forma que cada estado seja uma amostra para a rarefação.* Vou elaborar uma solução e depois respondo aqui no tópico, certo?

Abraços!  Smile

*Perceba que isto tem pouco significado biológico, ok? Os Estados não podem ser tomados como amostras, pois não são unidades que possuem significado biológico, então acho que a curva não teria muito sentido prático.
avatar
Prof. Marcos

Mensagens : 160
Data de inscrição : 23/12/2015
Idade : 35
Localização : Maceió, AL

Ver perfil do usuário https://cantinhodor.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Dúvidas - aula "O Grande Exemplo"

Mensagem por Prof. Marcos em Qua Dez 23, 2015 4:49 pm

Pronto, voltei com a solução! Smile

Mas lembre-se do que eu comentei: não faz muito sentido prático usar cada estado como unidade amostral, ok? Mas a resolução é interessante mesmo assim, pois a gente sempre aprende mais do R com essas coisas.

Copie a solução abaixo e cole no seu script, depois do final das curvas (quando usamos specpool para estimar a riqueza) e antes da parte sobre composição de espécies.

A solução que eu elaborei foi esta:

Código:

###################
#Separando os dados por estado

dados.divididos<-split(dados, Estado)

#Você pode "chamar" cada estado assim:
dados.divididos$Alagoas

#Se quisermos fazer uma curva de rarefação para um estado qualquer, podemos fazer assim:

rarefação.Alagoas<-specaccum(dados.divididos$Alagoas[,9:49])
rarefação.Alagoas

plot(rarefação.Alagoas, las=1, xlab="Esforço amostral",
ylab="Riqueza acumulada")

#Agora, se quiser que cada estado seja uma amostra, vamos montar um novo conjunto de dados
#Começaremos somando os dados de cada estado, assim:

Alagoas.soma<-colSums(dados.divididos$Alagoas[,9:49])
#Assim resumimos os dados de um estado em uma linha só
#Repetindo para todos:

Bahia.soma<-colSums(dados.divididos$Bahia[,9:49])
Paraíba.soma<-colSums(dados.divididos$Paraíba[,9:49])
Pernambuco.soma<-colSums(dados.divididos$Pernambuco[,9:49])
Sergipe.soma<-colSums(dados.divididos$Sergipe[,9:49])

#Legal. Agora vamos juntar essas somas em uma tabela nova:

dados.estados<-rbind(Alagoas.soma, Bahia.soma, Paraíba.soma, Pernambuco.soma, Sergipe.soma)
#Veja como ficou:
dados.estados

#Pronto, agora vamos usar estes novos dados para uma nova curva, onde os estados são as amostras!

rarefação.estados<-specaccum(dados.estados)
rarefação.estados

plot(rarefação.estados, las=1, xlab="Esforço amostral",
ylab="Riqueza acumulada")


####################

Mas veja só, esta não é A solução, e sim UMA solução.
Eu tenho certeza de que há soluções mais simples e elegantes, mas pra isso provavelmente teríamos que recorrer a outros pacotes.
Eu preferi ficar com esta solução porque ela é bem passo a passo, e construímos as etapas meio que do zero.

Bom, acho que é isso. Como eu disse antes, os detalhes vão sendo elaborados e discutidos ao longo das nossas aulas, então não se preocupe em entender tudo neste momento.

Abraços!
avatar
Prof. Marcos

Mensagens : 160
Data de inscrição : 23/12/2015
Idade : 35
Localização : Maceió, AL

Ver perfil do usuário https://cantinhodor.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Dúvidas - aula "O Grande Exemplo"

Mensagem por Lidimara em Ter Dez 29, 2015 2:40 pm

Prof. Marcos,

gostaria de agradecer as respostas. Conseguiu esclarecer minhas dúvidas.

Só em relação ao novo script que fiquei na dúvida. Na verdade, havia pensado em fazer uma curva para cada estado, ao invés de uma curva geral, e não utilizar os estados como unidades amostrais. Só que os esforços serão diferentes, já que temos 4 u.a. para Alagoas, 2 u.a. para Paraíba.... Caso eu quisesse comparar se coletei o suficiente em cada estado ou se a riqueza por estado é influenciada pelo número de amostras. Como poderia fazer?

Abraço,
Lidimara.




Lidimara

Mensagens : 7
Data de inscrição : 22/12/2015
Localização : Juiz de Fora

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Dúvidas - aula "O Grande Exemplo"

Mensagem por Prof. Marcos em Ter Dez 29, 2015 2:49 pm

Oi, Lidimara!

Lidimara escreveu:
Caso eu quisesse comparar se coletei o suficiente em cada estado ou se a riqueza por estado é influenciada pelo número de amostras. Como poderia fazer?
 

Então, uma das coisas mais legais da curva de acúmulo por rarefação é que ela serve justamente para isso: você pode comparar a riqueza encontrada para um mesmo esforço amostral, simplesmente "nivelando por baixo". Ou seja, em cada comparação, você usaria o valor de menor número de amostras para os dois estados comparados.

Agora, no nosso exemplo isto seria ainda assim ruim, pois apenas duas amostras é muito pouco... Mas em situações de campo é bem comum usarmos este recurso, pois muitas vezes algum pequeno problema em uma ou mais campanhas faz com que o esforço amostral varie um pouco, e nestes casos sempre podemos usar este recurso.

Ao longo das nossas aulas vamos olhar com calma para isto, pois temos ainda mais um detalhe: podemos usar os valores dos intervalos de confiança para dar suporte estatístico para as comparações. Mas isso fica para depois, ok?

Abraços!
avatar
Prof. Marcos

Mensagens : 160
Data de inscrição : 23/12/2015
Idade : 35
Localização : Maceió, AL

Ver perfil do usuário https://cantinhodor.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Dúvidas - aula "O Grande Exemplo"

Mensagem por Lidimara em Ter Dez 29, 2015 6:16 pm

ok. Obrigada!


Lidimara

Mensagens : 7
Data de inscrição : 22/12/2015
Localização : Juiz de Fora

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Dúvidas - aula "O Grande Exemplo"

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum