Problemas com o gráfico da função média e desvio
3 participantes
Página 1 de 1
Problemas com o gráfico da função média e desvio
Boa noite Prof. Marcos e colegas,
Estou com problemas para rodar a função do gráfico de média com desvio, referente a atividade final do módulo 2.
Consegui fazer o gráfico com o código que o Professor fez, porém quando tentei com a função o R deu à seguinte msg:
> library(sciplot)
>
> source("Função media e desvio.R") #para chamar o arquivo da função
The following objects are masked from dados (pos = 4):
Área, Riqueza
>
> graf.media.desvio(Área, Riqueza, "Área", "Riqueza")
O seguinte gráfico é apresentado.
Após o library(sciplot) quando tento rodar o comando source("Função media e desvio.R") ele abre uma janela de seleção e eu selecionei, novamente a pasta que estou trabalhando, assim como fiz para setwd(choose.dir(), na sequência ele mostra essa mensagem. Resolvi insistir e tentei rodar o gráfico, com o comando graf.media.desvio(Área, Riqueza, "Área", "Riqueza") ... ele faz o gráfico, mas com os dados do arquivo "pratica1.txt" como se ele não substituísse na função os novos dados do arquivo "dados4.txt".
Fico no aguardo de alguma orientação, para descobrir o que estou fazendo de errado.
Obrigada!!
Abraços,
Ilka.
Estou com problemas para rodar a função do gráfico de média com desvio, referente a atividade final do módulo 2.
Consegui fazer o gráfico com o código que o Professor fez, porém quando tentei com a função o R deu à seguinte msg:
> library(sciplot)
>
> source("Função media e desvio.R") #para chamar o arquivo da função
The following objects are masked from dados (pos = 4):
Área, Riqueza
>
> graf.media.desvio(Área, Riqueza, "Área", "Riqueza")
O seguinte gráfico é apresentado.
Após o library(sciplot) quando tento rodar o comando source("Função media e desvio.R") ele abre uma janela de seleção e eu selecionei, novamente a pasta que estou trabalhando, assim como fiz para setwd(choose.dir(), na sequência ele mostra essa mensagem. Resolvi insistir e tentei rodar o gráfico, com o comando graf.media.desvio(Área, Riqueza, "Área", "Riqueza") ... ele faz o gráfico, mas com os dados do arquivo "pratica1.txt" como se ele não substituísse na função os novos dados do arquivo "dados4.txt".
Fico no aguardo de alguma orientação, para descobrir o que estou fazendo de errado.
Obrigada!!
Abraços,
Ilka.
Nunes- Mensagens : 12
Data de inscrição : 11/10/2017
Re: Problemas com o gráfico da função média e desvio
Olá, Ilka e colegas! Vou tentar dar uma ajuda!
Pelo que entendi até agora, a mensagem de erro "The following objects are masked from..." costuma aparecer quando usamos a função attach() mais de uma vez (é como se o R fizesse 'attach' do 'attach'). Quando isso ocorre, t;) ente usar detach().
Em relação à janela que aparece após o comando source, meu palpite é que o seu script "Função media e desvio.R" não está na mesma pasta do script que você está usando para fazer a atividade (talvez o script do gráfico esteja numa pasta sobre o Módulo 2 e o outro script esteja numa pasta de exercícios, por exemplo - este era o meu caso). Se entendi bem, ele só vai funcionar se estiver na mesma pasta. Então, eu sugiro que você copie o script do gráfico e cole uma cópia na mesma pasta do script da atividade. Funcionou comigo!
Tente e depois avise se deu certo!
Abração,
Adriana
Pelo que entendi até agora, a mensagem de erro "The following objects are masked from..." costuma aparecer quando usamos a função attach() mais de uma vez (é como se o R fizesse 'attach' do 'attach'). Quando isso ocorre, t;) ente usar detach().
Em relação à janela que aparece após o comando source, meu palpite é que o seu script "Função media e desvio.R" não está na mesma pasta do script que você está usando para fazer a atividade (talvez o script do gráfico esteja numa pasta sobre o Módulo 2 e o outro script esteja numa pasta de exercícios, por exemplo - este era o meu caso). Se entendi bem, ele só vai funcionar se estiver na mesma pasta. Então, eu sugiro que você copie o script do gráfico e cole uma cópia na mesma pasta do script da atividade. Funcionou comigo!
Tente e depois avise se deu certo!
Abração,
Adriana
Drika- Mensagens : 10
Data de inscrição : 06/10/2017
Re: Problemas com o gráfico da função média e desvio
Bom dia Adriana e colegas,
Infelizmente, ainda não deu certo...
Depois que rodei os comandos básicos de todo script, segui essa sequência:
library(sciplot)
source("Função media e desvio.R") #para chamar o arquivo da função
detach(dados)
graf.media.desvio(Área, Riqueza, "Área", "Riqueza")
Mas não mudou a figura e também coloquei o detach(dados) em várias posições...mas isso também não mudou o resultado. Os arquivos estão todos na pasta do módulo 2. Vídeos, scrits, a planilha, tudo lá ...efim vamos tentando...
Mas muito obrigada por sua ajuda =)
Grande abraço,
Ilka
Infelizmente, ainda não deu certo...
Depois que rodei os comandos básicos de todo script, segui essa sequência:
library(sciplot)
source("Função media e desvio.R") #para chamar o arquivo da função
detach(dados)
graf.media.desvio(Área, Riqueza, "Área", "Riqueza")
Mas não mudou a figura e também coloquei o detach(dados) em várias posições...mas isso também não mudou o resultado. Os arquivos estão todos na pasta do módulo 2. Vídeos, scrits, a planilha, tudo lá ...efim vamos tentando...
Mas muito obrigada por sua ajuda =)
Grande abraço,
Ilka
Nunes- Mensagens : 12
Data de inscrição : 11/10/2017
Re: Problemas com o gráfico da função média e desvio
Olá, Ilka e Adriana, tudo bem?
Ilka, acredito que possa existir algo de estranho dentro do código da função. Pode ter sido algum "pedaço" de código fora do lugar que tenha ficado perdido dentro do arquivo da função "Função media e desvio.R".
Para descobrir, faça o seguinte: abra o arquivo da função (como se fosse um script mesmo), e cole tudo dentro dele aqui em uma mensagem. Eu desconfio que uma parte da função pode estar causando o R, e por isso a coisa fica toda confusa, com este erro que é mesmo típico do attach().
Vamos ver o que descobrimos, certo?
Ilka, acredito que possa existir algo de estranho dentro do código da função. Pode ter sido algum "pedaço" de código fora do lugar que tenha ficado perdido dentro do arquivo da função "Função media e desvio.R".
Para descobrir, faça o seguinte: abra o arquivo da função (como se fosse um script mesmo), e cole tudo dentro dele aqui em uma mensagem. Eu desconfio que uma parte da função pode estar causando o R, e por isso a coisa fica toda confusa, com este erro que é mesmo típico do attach().
Vamos ver o que descobrimos, certo?
Re: Problemas com o gráfico da função média e desvio
Olá Prof. Marcos, tudo bem sim... e vc?
Segue o script, desculpe o excesso de comentários ... é muita coisa nova...
####################################################
#Criando minha primeira função no R
#Ilka Branco Nunes
#07-11-2017
#Uma função normalmente simplifica um código grande
#Nas funções não pode ter espaço. Nesse caso é usual colocar pontos separando
#evitar acento e maiúsculo e minúsculo
#No R tudo o que acontece dentro da função fica entre chaves {}
###############################
#Antes de qualquer coisa:
###############################
setwd(choose.dir()) # Escolher a pasta onde estão os arquivos
dir() #lista os arquivos da pasta
dados<-read.table("pratica1.txt",h=T) #Lê os dados do arquivo
attach(dados) #reconhece os nomes das colunas nos dados
summary(dados) #resumo dos dados
###############################
#Função que cria gráfico de média com desvio padrão
#Usa como base uma função do pacote sciplot
#não se esqueça de carregar o pacote!!!!
#x é o nome da variável categórica que vc vai usar
# e Y é o nome da variável quantitativa
# nome.do.x é o nome que vc desejana legenda do eixo x, entre ""
# nome.do.y é o nome que vc desejana legenda do eixo y, entre ""
##################################
#Gráfico de média e Desvio padrão:
##################################
library(sciplot) #rodar o pacote antes de fazer a função.
graf.media.desvio<-function(x, y) #escrever entre () quais os argumentos que minha função irá carregar.
#O usuário precisa inserir na função qual a variável categórica no eixo x e qual a variável quantitativa do eixo y.
#nesse caso o usuário não escreverá variável x e y ... e sim o nome de cada uma delas.
graf.media.desvio<-function(x, y){
lineplot.CI(x,y, las=1, xlab="Ambiente", ylab="Área do Fragmento", #substituir ambiente e área por x e y
type="p", ci.fun= function(x) c(mean(x)-sd(x), mean(x)+sd(x)))}
#vai rodar no R e nada acontece, porém msg de erro não são informadas.
#testando agora a função:
graf.media.desvio(Ambiente, Área) #Após roda a função acima. A partir desse momento sempre que quiser fazer um
#gráfico de média com desvio padrão não precisa "escrever" o código todo, basta rodar o
#o comando graf.media.desvio(Ambiente, Área)
graf.media.desvio(Ambiente, Riqueza) # testando para outra variável: riqueza de espécies
#################
#Para que a função permita que o usuário possa inserir os nomes das variáveis:
graf.media.desvio<-function(x, y, nome.do.x, nome.do.y){
lineplot.CI(x,y, las=1, xlab=nome.do.x, ylab=nome.do.y, #substituir ambiente e área por x e y
type="p", ci.fun= function(x) c(mean(x)-sd(x), mean(x)+sd(x)))}
#nesse caso nome.do.x será inserido no lugar da legenda do eixo x, que até então era "Ambiente", da mesma forma
# é feito para a legenda do eixo y...trocar "Área do Fragmento" por nome.do.y
#Agora testando pra ver se vai da certo a nova função, agora com os nomes dos eixos x e y
graf.media.desvio(Ambiente, Riqueza, "Ambiente", "Riqueza")
Vamos descobrir!!
Abraços,
Ilka.
Segue o script, desculpe o excesso de comentários ... é muita coisa nova...
####################################################
#Criando minha primeira função no R
#Ilka Branco Nunes
#07-11-2017
#Uma função normalmente simplifica um código grande
#Nas funções não pode ter espaço. Nesse caso é usual colocar pontos separando
#evitar acento e maiúsculo e minúsculo
#No R tudo o que acontece dentro da função fica entre chaves {}
###############################
#Antes de qualquer coisa:
###############################
setwd(choose.dir()) # Escolher a pasta onde estão os arquivos
dir() #lista os arquivos da pasta
dados<-read.table("pratica1.txt",h=T) #Lê os dados do arquivo
attach(dados) #reconhece os nomes das colunas nos dados
summary(dados) #resumo dos dados
###############################
#Função que cria gráfico de média com desvio padrão
#Usa como base uma função do pacote sciplot
#não se esqueça de carregar o pacote!!!!
#x é o nome da variável categórica que vc vai usar
# e Y é o nome da variável quantitativa
# nome.do.x é o nome que vc desejana legenda do eixo x, entre ""
# nome.do.y é o nome que vc desejana legenda do eixo y, entre ""
##################################
#Gráfico de média e Desvio padrão:
##################################
library(sciplot) #rodar o pacote antes de fazer a função.
graf.media.desvio<-function(x, y) #escrever entre () quais os argumentos que minha função irá carregar.
#O usuário precisa inserir na função qual a variável categórica no eixo x e qual a variável quantitativa do eixo y.
#nesse caso o usuário não escreverá variável x e y ... e sim o nome de cada uma delas.
graf.media.desvio<-function(x, y){
lineplot.CI(x,y, las=1, xlab="Ambiente", ylab="Área do Fragmento", #substituir ambiente e área por x e y
type="p", ci.fun= function(x) c(mean(x)-sd(x), mean(x)+sd(x)))}
#vai rodar no R e nada acontece, porém msg de erro não são informadas.
#testando agora a função:
graf.media.desvio(Ambiente, Área) #Após roda a função acima. A partir desse momento sempre que quiser fazer um
#gráfico de média com desvio padrão não precisa "escrever" o código todo, basta rodar o
#o comando graf.media.desvio(Ambiente, Área)
graf.media.desvio(Ambiente, Riqueza) # testando para outra variável: riqueza de espécies
#################
#Para que a função permita que o usuário possa inserir os nomes das variáveis:
graf.media.desvio<-function(x, y, nome.do.x, nome.do.y){
lineplot.CI(x,y, las=1, xlab=nome.do.x, ylab=nome.do.y, #substituir ambiente e área por x e y
type="p", ci.fun= function(x) c(mean(x)-sd(x), mean(x)+sd(x)))}
#nesse caso nome.do.x será inserido no lugar da legenda do eixo x, que até então era "Ambiente", da mesma forma
# é feito para a legenda do eixo y...trocar "Área do Fragmento" por nome.do.y
#Agora testando pra ver se vai da certo a nova função, agora com os nomes dos eixos x e y
graf.media.desvio(Ambiente, Riqueza, "Ambiente", "Riqueza")
Vamos descobrir!!
Abraços,
Ilka.
Nunes- Mensagens : 12
Data de inscrição : 11/10/2017
Re: Problemas com o gráfico da função média e desvio
Olá, Ilka.
Todo o script coleado é do arquivo que você chama com o comando source? Se for este o caso, então o problema está mesmo na estrutura do arquivo. Por exemplo, nesta parte:
Se você usa o source e depois executa a função criada, ela irá carregar os dados acima, pois este trecho de script está dentro do arquivo carregado, e ele será executado automaticamente quando você executar a função.
Dentro do arquivo que você irá carregar com o source() você deve manter apenas a parte que cria a função (e os comentários, se quiser). Então o arquivo deve ter apenas o trecho onde a função recebe um nome e é descrita entre {}. Os demais comandos, como o teste da função, os dados carregados e tudo mais, não devem entrar, ok?
Todo o script coleado é do arquivo que você chama com o comando source? Se for este o caso, então o problema está mesmo na estrutura do arquivo. Por exemplo, nesta parte:
- Código:
###############################
#Antes de qualquer coisa:
###############################
setwd(choose.dir()) # Escolher a pasta onde estão os arquivos
dir() #lista os arquivos da pasta
dados<-read.table("pratica1.txt",h=T) #Lê os dados do arquivo
attach(dados) #reconhece os nomes das colunas nos dados
summary(dados) #resumo dos dados
###############################
Se você usa o source e depois executa a função criada, ela irá carregar os dados acima, pois este trecho de script está dentro do arquivo carregado, e ele será executado automaticamente quando você executar a função.
Dentro do arquivo que você irá carregar com o source() você deve manter apenas a parte que cria a função (e os comentários, se quiser). Então o arquivo deve ter apenas o trecho onde a função recebe um nome e é descrita entre {}. Os demais comandos, como o teste da função, os dados carregados e tudo mais, não devem entrar, ok?
Re: Problemas com o gráfico da função média e desvio
Só para exemplificar, o arquivo que eu mesmo criei ao gravar aquela aula tem apenas isto dentro dele:
Aí, para testar, você pode usar este pedaço:
Mas perceba que apenas o primeiro trecho de código exemplificado acima deve estar no arquivo que será chamado com o comando source(). O segundo trecho pode ser um script comum, mas não deve ser carregado pelo source, ok?
Avise se conseguir fazer tudo funcionar.
- Código:
#Função que cria gráfico de média com desvio padrão
#Usa como base, uma função do pacote sciplot
#Não se esqueça de carregar o pacote!!!
#x é o nome da variável categórica que você vai usar
#y é o nome da variável quantitativa
#nome.do.x é o nome que você deseja no eixo x (coloque entre aspas, ok?)
#nome.do.y é o nome que você deseja no eixo y (também com as aspas, beleza?)
graf.media.desvio<-function(x, y, nome.do.x, nome.do.y){
lineplot.CI(x, y, las=1, xlab=nome.do.x, ylab=nome.do.y,
type="p", ci.fun= function(x) c(mean(x)-sd(x), mean(x)+sd(x)))
}
Aí, para testar, você pode usar este pedaço:
- Código:
##Usando a minha primeira função!!!
##Curso do R, Escas, IPÊ e Bocaina
##Marcos Vital
###########################################
setwd(choose.dir()) #Escolhar a pasta onde estão os arquivos
dir() #Lista os arquivos da pasta
dados<-read.table("pratica1.txt", h=T) #Lê os dados do arquivo
attach(dados) #Reconhece os nomes das colunas nos dados
summary(dados) #Resumo dos dados
##############################################
library(sciplot)
source("meu grafico.R")
graf.media.desvio(Ambiente, Riqueza, "Ambiente", "Número de espécies")
Mas perceba que apenas o primeiro trecho de código exemplificado acima deve estar no arquivo que será chamado com o comando source(). O segundo trecho pode ser um script comum, mas não deve ser carregado pelo source, ok?
Avise se conseguir fazer tudo funcionar.
Re: Problemas com o gráfico da função média e desvio
Olá Prof. Marcos,
Deu super certo!!
Muito obrigada,
Abração
Ilka
Deu super certo!!
Muito obrigada,
Abração
Ilka
Nunes- Mensagens : 12
Data de inscrição : 11/10/2017
Tópicos semelhantes
» Função graf.media.desvio | Erro no desvio padrão
» Problemas com Gráfico Média e CI - plotCI
» Boxplot com média e desvio padrão sobrepostos
» Problemas com a função Help
» Problemas com a função subset
» Problemas com Gráfico Média e CI - plotCI
» Boxplot com média e desvio padrão sobrepostos
» Problemas com a função Help
» Problemas com a função subset
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos