Re: [R-br] Alteração em função de pacote

Olá Benilton. No manual encontrei instruções de como se criar uma função em um novo pacote. No meu caso, onde apenas modifiquei a função eigen.f para eigem.f, gostaria de saber como fazer para carregá-la no momento da execução. Quando chamo a função eigen: eigen(cbind(c(1,-1),c(-1,1))) $values [1] 2 0 $vectors [,1] [,2] [1,] -0.7071068 -0.7071068 [2,] 0.7071068 -0.7071068 Já na chamada a eigem: eigem(cbind(c(1,-1),c(-1,1))) Erro: não foi possível encontrar a função "eigem" Att, Carlos.

Só alterando a função não quer dizer que elá estará disponível para "uso". Você precisa "avisar" o R de alguma maneira que existe uma modificação em um pacote já compilado. A primeira tentativa seria: $ R CMD COMPILE eigem.f e tente usar a função. Se não ser certo vc pode tentar $ R CMD build pkgdirs onde pkgdirs eh o diretorio aonde esta o pacote base, e depois $ R CMD INSTALL pkgs onde pkgs eh o mesmo diretorio do build. Veja também o --help dos comandos. Não testei nada das coisas acima, poste aqui se der certo alguma delas. --- Fernando Mayer Universidade Federal de Santa Catarina - UFSC Departamento de Ecologia e Zoologia - ECZ/CCB URL: http://sites.google.com/site/fernandomayer e-mail: fernandomayer [@] gmail.com 2012/5/22 Junior Beleti <beleti.junior@gmail.com>:
Olá Benilton.
No manual encontrei instruções de como se criar uma função em um novo pacote.
No meu caso, onde apenas modifiquei a função eigen.f para eigem.f, gostaria de saber como fazer para carregá-la no momento da execução.
Quando chamo a função eigen:
eigen(cbind(c(1,-1),c(-1,1)))
$values [1] 2 0
$vectors [,1] [,2] [1,] -0.7071068 -0.7071068 [2,] 0.7071068 -0.7071068
Já na chamada a eigem:
eigem(cbind(c(1,-1),c(-1,1)))
Erro: não foi possível encontrar a função "eigem"
Att,
Carlos.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

E, como ja citado aqui anteriormente, apos compilar, carregar a biblioteca dinamica via dyn.load() e chamar a funcao propriamente dita via .Fortran() ... adicionalmente, volto a repetir que nao eh uma boa ideia criar funcoes com o mesmo nome de funcoes existentes no base ou qq outro pacote "essencial", a menos que haja a certeza de que "a coisa certa foi feita". b 2012/5/22 Fernando Mayer <fernandomayer@gmail.com>:
Só alterando a função não quer dizer que elá estará disponível para "uso". Você precisa "avisar" o R de alguma maneira que existe uma modificação em um pacote já compilado.
A primeira tentativa seria:
$ R CMD COMPILE eigem.f
e tente usar a função. Se não ser certo vc pode tentar
$ R CMD build pkgdirs
onde pkgdirs eh o diretorio aonde esta o pacote base, e depois
$ R CMD INSTALL pkgs
onde pkgs eh o mesmo diretorio do build. Veja também o --help dos comandos.
Não testei nada das coisas acima, poste aqui se der certo alguma delas.
--- Fernando Mayer Universidade Federal de Santa Catarina - UFSC Departamento de Ecologia e Zoologia - ECZ/CCB URL: http://sites.google.com/site/fernandomayer e-mail: fernandomayer [@] gmail.com
2012/5/22 Junior Beleti <beleti.junior@gmail.com>:
Olá Benilton.
No manual encontrei instruções de como se criar uma função em um novo pacote.
No meu caso, onde apenas modifiquei a função eigen.f para eigem.f, gostaria de saber como fazer para carregá-la no momento da execução.
Quando chamo a função eigen:
eigen(cbind(c(1,-1),c(-1,1)))
$values [1] 2 0
$vectors [,1] [,2] [1,] -0.7071068 -0.7071068 [2,] 0.7071068 -0.7071068
Já na chamada a eigem:
eigem(cbind(c(1,-1),c(-1,1)))
Erro: não foi possível encontrar a função "eigem"
Att,
Carlos.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (3)
-
Benilton Carvalho
-
Fernando Mayer
-
Junior Beleti