Programa R para Biologia da Conservação
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Criar função

2 participantes

Ir para baixo

Criar função Empty Criar função

Mensagem por Liliane Seg Jul 01, 2019 10:45 am

Oies,

Acompanhei a aula 2.12 Gráficos de medias e desvio, e a parte de salvar o script com a função "plotmédias" para mim deu errado, segui o passo a passo, mas não vai (imagem).
Aproveitando, também queria mudar os valores da escala do meu gráfico no eixo X(está 1, 1.5, 2...) *imagem, queria deixar com os nomes certos das variáveis (Lance 1, Lance 2, Lance 3), como consigo alterar?

Obrigadão!



Criar função Aula2110

Liliane

Mensagens : 18
Data de inscrição : 20/05/2019

Ir para o topo Ir para baixo

Criar função Empty Re: Criar função

Mensagem por Prof. Marcos Seg Jul 01, 2019 4:42 pm

Olá, Liliane, tudo bem?

Veja só, pelo erro eu desconfio que o problema esteja ligado à codificação dos arquivos (o encoding), pois o erro parece indicar caracteres estranhos.

Tente o seguinte: abra o arquivo plotmédias.R no RStudio, e veja se os acentos e caracteres especiais estão corretos ou se está tudo "bugado". Se for a segunda opção, vá em File -> Re-open with encoding, e tente algumas das opções disponíveis. É possível que resolva.

Já na segunda questão, qual a função usada? Foi a plotmédias ou alguma outra? Qualquer coisa cole aqui o script usado pra gerar o gráfico, e vamos resolvendo.
Prof. Marcos
Prof. Marcos

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

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Criar função Empty Re: Criar função

Mensagem por Liliane Seg Jul 01, 2019 5:01 pm

Oi profº! Obrigada pela resposta.

Sobre a segunda dúvida, continuei vendo as aulas e consegui dar uma melhorada no gráfico rs. Agora só preciso alterar os números 1,2,3, para os nomes corretos do meu conjunto de dados (que é lance 1, lance 2, lance 3).
Insiro a imagem de como está agora, e também o script que criei:

Criar função Rplot110

plot(1:3, medias, pch=16,xlab="Proposta e Lances", ylab = "Valor R$", las=1, cex.lab=0.9, cex.axis=0.6, xaxp=c(0,3,3), ylim=range(c(medias-desvios, medias+desvios)))

arrows(1:3, medias-desvios, 1:3, medias+desvios, angle=90, code=3)
text(x=3-0.1, y=mediafinal, labels = "331,28", cex=0.9)
text(x=2-0.1, y=medial1, labels = "362,86", cex=0.9)
text(x=1+0.1, y=medial2, labels = "416,51", cex=0.9)

Liliane

Mensagens : 18
Data de inscrição : 20/05/2019

Ir para o topo Ir para baixo

Criar função Empty Re: Criar função

Mensagem por Prof. Marcos Seg Jul 01, 2019 5:18 pm

Oi, Liliane!

Na medida em que continuar as aulas, vamos chegar nisso também. Wink

Mas, para adiantar, você pode ver a solução aqui, no meu blog: https://cantinhodor.wordpress.com/2015/10/08/graficos-de-medias-no-r-sem-pacotes/

Resumidamente, o segredo é plotar sem os eixos usando o argumento axes=F no plot(), e depois adicionar os eixos com a função axis.

Veja se consegue fazer com seus dados, e qualquer coisa avise aqui que continuamos.
Prof. Marcos
Prof. Marcos

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

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Criar função Empty Re: Criar função

Mensagem por Liliane Seg Jul 01, 2019 8:35 pm

Profº, consegui o eixo y, mas o x não.
Li a pagina, mas não consigo entender o que substituir no x e o levels.



Liliane

Mensagens : 18
Data de inscrição : 20/05/2019

Ir para o topo Ir para baixo

Criar função Empty Re: Criar função

Mensagem por Prof. Marcos Seg Jul 01, 2019 8:54 pm

No x, use sempre:

x<-1:nlevels(iris$Species)

Onde você irá substituir o meu 'iris$species' pelo sua variável categórica (nomedeobjeto$nomedavariável)

E no levels, a mesma coisa, onde eu tenho:

levels(iris$Species)

Você irá colocar a sua variável.
Prof. Marcos
Prof. Marcos

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

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Criar função Empty Re: Criar função

Mensagem por Liliane Seg Jul 01, 2019 9:32 pm

Profº, não consigo mas pelo menos acho que encontrei o erro (só não sei como resolver).

O R não está "categorizando" a minha coluna desejada com 3 levels. Diferentemente do que ele faz com outra base de dados, como a íris,
em que ele retorna uma separação em 3 classes de espécies para  coluna com os textos, para os meus dados o mesmo não está ocorrendo (embora esteja formatado do mesmo modo, ele retorna o valor de comprimento (?) e como nivel indica 1 e 0 (???) confused ...)

Criar função Sem_tz10

Liliane

Mensagens : 18
Data de inscrição : 20/05/2019

Ir para o topo Ir para baixo

Criar função Empty Re: Criar função

Mensagem por Prof. Marcos Qua Jul 03, 2019 3:37 pm

Liliane, o problema está na forma como o R reconhece os dados da sua planilha, e é um dos motivos para eu não gostar de ler dados diretamente de arquivos do Excel...

Quando usamos o readxl, ele não reconhece as variáveis categóricas automaticamente, e você precisa fazer isso manualmente (o mesmo não acontece com read.csv ou read.txt). No seu caso, você teria que fazer:

TESTE$PROPOSTA<-as.factor(TESTE$PROPOSTA)

Depois dê o summary de novo e confira se deu certo, mas deve dar. Aí as próximas etapas vão funcionar normalmente. Wink
Prof. Marcos
Prof. Marcos

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

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Criar função Empty Re: Criar função

Mensagem por Liliane Qui Jul 04, 2019 10:32 am

Show. Deu super certo agora.
Muito obrigada!!!!

Liliane

Mensagens : 18
Data de inscrição : 20/05/2019

Ir para o topo Ir para baixo

Criar função Empty Re: Criar função

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos