
Amigos de R, Eu estou tentando organizar uma coleção de funções em um pacote utilizando o Rstudio. Ja fucei na documentação do Rstudio e alguns sitios por ai mas não consigui uma luz. A minha questão é que tenho tres funções em um mesmo arquivo *.R, que retornam a mesma análise mas por métodos diferentes. Mais ou menos assim... # bloco do roxygen2 #' Diferentes métodos para a mesma análise #' @aliases f1 f2 f3 #'... # bloco das funções f1 <- function(arg1, arg2, arg3) {...} f2 <- function(arg1, arg2, arg3) {...} f3 <- function(arg1, arg2, arg3) {...} O meu problema é que quando eu pressiono "Build & reload", o Rstudio não retorna qualquer aviso ou erro, mas so carrega no pacote a primeira função. Então, quando chamo a segunda ou terceira ele diz que a função não existe. Eu já pensei até em separar as funções em diferentes arquivos, mas gostaria muito de manter essa organização. Até o momento estou achando que preciso fazer alguma configuração do devtools ou do Rstudio pra poder fazer funcionar, mas não estou sabendo qual. Alguma luz de como resolver? Abraço forte, Pedro Brasil

Olá, Você não compartilhou muito para ter uma idéia de outro eventual problema, mas em princípio, você precisa de 3 blocos de documentação com respectivos @exports para que as funções apareçam. Esse "bloco das funções" não parece funcionar. Eu tentaria algo do tipo para suas funções: #'@name funcoes #ai acho que nao precisa do alias #' etc etc help da função 1 #'@rdname funcoes #'@export f1 <- function(etc){} #' #'@rdname funcoes #' coisas da função 2 #'@export f2 <- function(etc){} #' #'@rdname funcoes #' coisas da função 3 #'@export f3 <- function(etc){} E em todo caso, tudo funciona melhor com funções em .R separados. Apesar disso ser uma limitação pra você, recomendo fortemente. 2016-08-29 13:02 GMT-03:00 Pedro Emmanuel Alvarenga Americano do Brasil via R-br <r-br@listas.c3sl.ufpr.br>:
Amigos de R,
Eu estou tentando organizar uma coleção de funções em um pacote utilizando o Rstudio. Ja fucei na documentação do Rstudio e alguns sitios por ai mas não consigui uma luz.
A minha questão é que tenho tres funções em um mesmo arquivo *.R, que retornam a mesma análise mas por métodos diferentes.
Mais ou menos assim...
# bloco do roxygen2 #' Diferentes métodos para a mesma análise #' @aliases f1 f2 f3 #'... # bloco das funções f1 <- function(arg1, arg2, arg3) {...} f2 <- function(arg1, arg2, arg3) {...} f3 <- function(arg1, arg2, arg3) {...}
O meu problema é que quando eu pressiono "Build & reload", o Rstudio não retorna qualquer aviso ou erro, mas so carrega no pacote a primeira função. Então, quando chamo a segunda ou terceira ele diz que a função não existe. Eu já pensei até em separar as funções em diferentes arquivos, mas gostaria muito de manter essa organização. Até o momento estou achando que preciso fazer alguma configuração do devtools ou do Rstudio pra poder fazer funcionar, mas não estou sabendo qual. Alguma luz de como resolver?
Abraço forte,
Pedro Brasil
_______________________________________________ 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.

Ei Tiago, Deu certo. Apesar de não ter entendido bem a tua dica, ela me deu a luz e acabei achando na documentação do roxygen2 um exemplo pra me inspirar. Então ficou assim... #' Nome da função 1, função 2 e função 3 #' @name funcao1 #' @description bla bla bla #' @param bla bla bla #' @details bla bla bla #' @return bla bla bla #' @seealso bla bla bla #' @examples bla bla bla #' @export função1 <- function(...){...} #' @rdnames funcao1 #' @export função2 <- function(...){...} #' @rdnames funcao1 #' @export função3 <- function(...){...} Valeu mesmo. Apesar de não ser esse o caso, pra funções genericas de classe S3 (plot, print, summary etc) há uma forma parecida que funciona quase do mesmo jeito. Abraço forte e que a força esteja sempre contigo, Pedro Brasil Em 29 de agosto de 2016 13:54, Tiago Fragoso <fragoso2718@gmail.com> escreveu:
Olá,
Você não compartilhou muito para ter uma idéia de outro eventual problema, mas em princípio, você precisa de 3 blocos de documentação com respectivos @exports para que as funções apareçam. Esse "bloco das funções" não parece funcionar.
Eu tentaria algo do tipo para suas funções:
#'@name funcoes #ai acho que nao precisa do alias #' etc etc help da função 1 #'@rdname funcoes #'@export f1 <- function(etc){} #' #'@rdname funcoes #' coisas da função 2 #'@export f2 <- function(etc){} #' #'@rdname funcoes #' coisas da função 3 #'@export f3 <- function(etc){}
E em todo caso, tudo funciona melhor com funções em .R separados. Apesar disso ser uma limitação pra você, recomendo fortemente.
2016-08-29 13:02 GMT-03:00 Pedro Emmanuel Alvarenga Americano do Brasil via R-br <r-br@listas.c3sl.ufpr.br>:
Amigos de R,
Eu estou tentando organizar uma coleção de funções em um pacote utilizando o Rstudio. Ja fucei na documentação do Rstudio e alguns sitios por ai mas não consigui uma luz.
A minha questão é que tenho tres funções em um mesmo arquivo *.R, que retornam a mesma análise mas por métodos diferentes.
Mais ou menos assim...
# bloco do roxygen2 #' Diferentes métodos para a mesma análise #' @aliases f1 f2 f3 #'... # bloco das funções f1 <- function(arg1, arg2, arg3) {...} f2 <- function(arg1, arg2, arg3) {...} f3 <- function(arg1, arg2, arg3) {...}
O meu problema é que quando eu pressiono "Build & reload", o Rstudio não retorna qualquer aviso ou erro, mas so carrega no pacote a primeira função. Então, quando chamo a segunda ou terceira ele diz que a função não existe. Eu já pensei até em separar as funções em diferentes arquivos, mas gostaria muito de manter essa organização. Até o momento estou achando que preciso fazer alguma configuração do devtools ou do Rstudio pra poder fazer funcionar, mas não estou sabendo qual. Alguma luz de como resolver?
Abraço forte,
Pedro Brasil
_______________________________________________ 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 (2)
-
Pedro Emmanuel Alvarenga Americano do Brasil
-
Tiago Fragoso