<div dir="ltr">Faça:<div><br></div><div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">planilha <- data.frame(x=1:10, v1=rnorm(10), v2=rnorm(10))</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">
<br></div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">with(planilha, v1+v2) # Fora da função funciona</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></div>
<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">func <- function(dados, func) {</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"> with(dados, func)</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">
}</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">func(planilha, v1+v2) # Da erro na hora de chamar a função</div>
<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></div></div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">Talvez seja qq confusão na atribuição de nomes, parâmetros para a função.</div>
<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">att,</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">
FH</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/8/19 Rodrigo Coster <span dir="ltr"><<a href="mailto:rcoster@gmail.com" target="_blank">rcoster@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Caros,<div><br></div><div>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.</div>


<div><br></div><div>Basicamente é isso:</div><div><br></div><div><div>dados <- data.frame(x=1:10, v1=rnorm(10), v2=rnorm(10))</div><div><br></div><div>with(dados, v1+v2) # Fora da função funciona</div><div><br></div><div>


func <- function(data, func) {</div><div> with(dados, func)</div><div>}</div><div>func(dados, v1+v2) # Da erro na hora de chamar a função</div><div>func(dados, 'v1+v2') # Retorna o string</div></div><div><br></div>

<div>Alguma sugestão/solução?</div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>