Problemas com a Minha Primeira Função no R!
2 participantes
Página 1 de 1
Problemas com a Minha Primeira Função no R!
Olá Prof. Marcos, tudo bem?
Estou tendo um problema na hora de executar a minha primeira função no R. Como acho complicado descrever qual seria o problema, mesmo porque não estou conseguindo detectar qual é, vou colar aqui as linhas do meu script para que você dê uma olhada e veja o que eu fiz de errado no processo.
?lineplot.CI
fun = function(x) mean(x, na.rm=TRUE)
lineplot.CI(Ambiente, Riqueza, las=1, type="p",
xlab="Ambiente", ylab="Nº de Espécies",
ci.fun= function(x) c(fun(x)-sd(x), fun(x)+sd(x))) #Mudando a medida de dispersão para desvio padrão usando a função lineplot.CI#
#Criando a minha primeira função#
sdmean.graph<-function(x, y){lineplot.CI(x, y, las=1, type="p",
xlab="Ambiente", ylab="Nº de Espécies",
ci.fun= function(x) c(fun(x)-sd(x), fun(x)+sd(x)))}
sdmean.graph(Ambiente, Riqueza) #Executando a função
sdmean.graph(Ambiente, Área) #Problema com o nome dos eixos
#Corrigindo a função
sdmean.graph<-function(x, y, xname, yname){lineplot.CI(x, y, las=1, type="p",
xlab= xname, ylab= yname,
ci.fun= function(x) c(fun(x)-sd(x), fun(x)+sd(x)))}
sdmean.graph(Ambiente, Área, "Ambiente", "Área") #Executanto a função!
Até aqui tudo corre bem. Ai eu salvo o script da nova função, fecho o R e abro novamente para executar:
#Testando a função!#
dir()
atividade1<-read.table("pratica1.txt", header= T)
attach(atividade1)
library(sciplot)
source("sdmean.graph.R")
sdmean.graph(Ambiente, Área, "Ambiente", "Área")
Veja o aparece no console...
atividade1<-read.table("pratica1.txt", header= T)
> attach(atividade1)
> library(sciplot)
> dir()
[1] "Atividade proposta do módulo 1" "bichinhos.txt"
[3] "dados necessários" "Exemplo1.txt"
[5] "Exemplo1.xlsx" "Módulo 1.R"
[7] "Módulo 2.R" "pratica1.txt"
[9] "resultado da aula" "Script de leitura de dados.R"
[11] "Script modulo2.R" "sdmean.graph.R"
> source("sdmean.graph.R")
> sdmean.graph(Ambiente, Área, "Ambiente", "Área")
Show Traceback
Rerun with Debug
Error in fun(x) : could not find function "fun"
>
O que eu fiz de errado?!
Abraços!
Estou tendo um problema na hora de executar a minha primeira função no R. Como acho complicado descrever qual seria o problema, mesmo porque não estou conseguindo detectar qual é, vou colar aqui as linhas do meu script para que você dê uma olhada e veja o que eu fiz de errado no processo.
?lineplot.CI
fun = function(x) mean(x, na.rm=TRUE)
lineplot.CI(Ambiente, Riqueza, las=1, type="p",
xlab="Ambiente", ylab="Nº de Espécies",
ci.fun= function(x) c(fun(x)-sd(x), fun(x)+sd(x))) #Mudando a medida de dispersão para desvio padrão usando a função lineplot.CI#
#Criando a minha primeira função#
sdmean.graph<-function(x, y){lineplot.CI(x, y, las=1, type="p",
xlab="Ambiente", ylab="Nº de Espécies",
ci.fun= function(x) c(fun(x)-sd(x), fun(x)+sd(x)))}
sdmean.graph(Ambiente, Riqueza) #Executando a função
sdmean.graph(Ambiente, Área) #Problema com o nome dos eixos
#Corrigindo a função
sdmean.graph<-function(x, y, xname, yname){lineplot.CI(x, y, las=1, type="p",
xlab= xname, ylab= yname,
ci.fun= function(x) c(fun(x)-sd(x), fun(x)+sd(x)))}
sdmean.graph(Ambiente, Área, "Ambiente", "Área") #Executanto a função!
Até aqui tudo corre bem. Ai eu salvo o script da nova função, fecho o R e abro novamente para executar:
#Testando a função!#
dir()
atividade1<-read.table("pratica1.txt", header= T)
attach(atividade1)
library(sciplot)
source("sdmean.graph.R")
sdmean.graph(Ambiente, Área, "Ambiente", "Área")
Veja o aparece no console...
atividade1<-read.table("pratica1.txt", header= T)
> attach(atividade1)
> library(sciplot)
> dir()
[1] "Atividade proposta do módulo 1" "bichinhos.txt"
[3] "dados necessários" "Exemplo1.txt"
[5] "Exemplo1.xlsx" "Módulo 1.R"
[7] "Módulo 2.R" "pratica1.txt"
[9] "resultado da aula" "Script de leitura de dados.R"
[11] "Script modulo2.R" "sdmean.graph.R"
> source("sdmean.graph.R")
> sdmean.graph(Ambiente, Área, "Ambiente", "Área")
Show Traceback
Rerun with Debug
Error in fun(x) : could not find function "fun"
>
O que eu fiz de errado?!
Abraços!
Leonardo P. A. Resende- Mensagens : 9
Data de inscrição : 03/10/2017
Re: Problemas com a Minha Primeira Função no R!
Olá, Leonardo, tudo bem?
Acho que é coisa bem simples! Veja só, você criou a função logo abaixo da parte que aparece:
#Criando a minha primeira função#
Foi isso mesmo? Se foi, então o seu script não incluiu uma linha fundamental:
fun = function(x) mean(x, na.rm=TRUE)
Sem esta linha, quando a sua função chega nesta parte:
ci.fun= function(x) c(fun(x)-sd(x), fun(x)+sd(x)))
Ela não "sabe" o que é fun. Então basta adicionar aquela linha lá em cima que deve tudo funcionar, ok?
Mas qualquer coisa vamos nos falando aqui, e se precisar cole exatamente o que é o script do seu arquivo de função aqui, para que eu possa conferir.
Abraços!
Acho que é coisa bem simples! Veja só, você criou a função logo abaixo da parte que aparece:
#Criando a minha primeira função#
Foi isso mesmo? Se foi, então o seu script não incluiu uma linha fundamental:
fun = function(x) mean(x, na.rm=TRUE)
Sem esta linha, quando a sua função chega nesta parte:
ci.fun= function(x) c(fun(x)-sd(x), fun(x)+sd(x)))
Ela não "sabe" o que é fun. Então basta adicionar aquela linha lá em cima que deve tudo funcionar, ok?
Mas qualquer coisa vamos nos falando aqui, e se precisar cole exatamente o que é o script do seu arquivo de função aqui, para que eu possa conferir.
Abraços!
Tópicos semelhantes
» Duvida Modulo 2 turma 4.1-Como usar a minha primeira função e criar boxplot e sem atach, mas com $?
» Problemas com a função Help
» Problemas com a função subset
» Solução para problemas com a função LeveneTest
» Problemas com o gráfico da função média e desvio
» Problemas com a função Help
» Problemas com a função subset
» Solução para problemas com a função LeveneTest
» Problemas com o gráfico da função média e desvio
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|