[R-br] Passar parâmetro para with() dentro de uma função

FHRB Toledo fernandohtoledo em gmail.com
Segunda Agosto 19 16:28:47 BRT 2013


Faça:

planilha <- data.frame(x=1:10, v1=rnorm(10), v2=rnorm(10))

with(planilha, v1+v2) # Fora da função funciona

func <- function(dados, func) {
 with(dados, func)
}

func(planilha, v1+v2) # Da erro na hora de chamar a função

Talvez seja qq confusão na atribuição de nomes, parâmetros para a função.

att,
FH


2013/8/19 Rodrigo Coster <rcoster em gmail.com>

> Caros,
>
> eu tenho uma função que me retorna um data.frame() com várias colunas que
> vou utilizar para outros calculos. Eu queria facilitar a minha vida e
> colocar esses calculos dentro da função, como um parâmetro (dado que não
> existe somente um calculo). Encontrei uma maneira de fazer isso fora da
> função pelo with() ou até mesmo evalq(), só que não consegui fazer isso
> dentro da função. Eu entendo os erros que dão e concordo com eles, mas não
> consegui encontrar uma maneira que funcione.
>
> Basicamente é isso:
>
> dados <- data.frame(x=1:10, v1=rnorm(10), v2=rnorm(10))
>
> with(dados, v1+v2) # Fora da função funciona
>
> func <- function(data, func) {
>  with(dados, func)
> }
> func(dados, v1+v2) # Da erro na hora de chamar a função
> func(dados, 'v1+v2') # Retorna o string
>
> Alguma sugestão/solução?
>
> _______________________________________________
> R-br mailing list
> R-br em 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130819/50998e7f/attachment.html>


Mais detalhes sobre a lista de discussão R-br