[R-br] Ajuda para nomear variáveis para uma função repetida

Maria Papa mceliamat em yahoo.com.br
Quinta Janeiro 5 19:57:31 BRST 2012


Olá Rodrigo,

Legal, deu certo, vou fazer mais alguns testes, mas resolveu.

Muito obrigada

 
[]'s 

Cèlia

 
 Maria Célia de Oliveira Papa 
Doutoranda em Engenharia de Produção
http://www.unimep.br
Tel. +55 19 31241826

Universidade Metodista de Piracicaba



________________________________
 De: Rodrigo Coster <rcoster em gmail.com>
Para: r-br em listas.c3sl.ufpr.br 
Enviadas: Quinta-feira, 5 de Janeiro de 2012 16:44
Assunto: Re: [R-br] Ajuda para nomear variáveis para uma função repetida
 

Já tentou usando as funções get() e assign()? Nunca usei elas, mas acredito que resolvam o teu problema. Reformulei o que te mandei, unica coisa extra que tu tem que fazer é na variável 'variaveis' botar em formato de string o nome das variáveis da coordenadas.

func <- function(X) {
 ic_inf_X [j] = ic_inf_X [j] = ic_inf_X [j] = rep(0,n)
 for (j in 1:n) {
  X_e = rep(X[j], length(m))+ (runif(m, -U,U))
  funX = function(X_e){mean(X_e)}
  X_boot = one.boot(X_e,funX,R)
  X_boot_ic= boot.ci(X_boot,conf = c(0.95),type = c("norm"))
  ic_inf_X [j]= X_boot_ic$normal[2]
  ic_sup_X [j] = X_boot_ic$normal[3]
  X_b[j]= X_boot$t0
 }
 return(cbind(ic_inf=ic_inf,ic_sup=ic_sup,b=b))
}
variaveis = c('X','Y','Z')
for (i in variaveis) {
 temp <- func(get(i))
 assign(paste('ic_inf_',i,sep=''),temp[,1])
 assign(paste('ic_sup_',i,sep=''),temp[,2])
 assign(paste(i,'_b',sep=''),temp[,3])
}



[]'s




2012/1/5 Maria Papa <mceliamat em yahoo.com.br>

Obrigada Rodrigo,
>
>
>Certo eu entendi a sua sugestão e achei interessante, mas eu preciso de algo que eu pudesse rodar o código todo uma única vez, eu até pensei em colocar tudo em um "for", mas eu não consigo fazer com que ele entenda os nomes das coordenadas. 
>
>
>
>[]
>
>
>Célia
>
>
>
>
>________________________________
> De: Rodrigo Coster <rcoster em gmail.com>
>Para: r-br em listas.c3sl.ufpr.br 
>Enviadas: Quinta-feira, 5 de Janeiro de 2012 15:23
>Assunto: Re: [R-br] Ajuda para nomear variáveis para uma função repetida
>
>
>
>Maria,
>
>
>tu pode colocar isso dentro de uma função e repetir a função 3 vezes. Substitui o comando que tu nos passou por esse, a principio ele deveria funcionar. Depois disso é só dividir as matrizes outX, outY e outZ nas 3 variaveis que tu quer, ou trabalhar nelas mesmo.
>
>
>func <- function(X) {
> ic_inf_X [j] = ic_inf_X [j] = ic_inf_X [j] = rep(0,n)
> for (j in 1:n) {
>  X_e = rep(X[j], length(m))+ (runif(m, -U,U))
>  funX = function(X_e){mean(X_e)}
>  X_boot = one.boot(X_e,funX,R)
>  X_boot_ic= boot.ci(X_boot,conf = c(0.95),type = c("norm"))
>  ic_inf_X [j]= X_boot_ic$normal[2]
>  ic_sup_X [j] = X_boot_ic$normal[3]
>  X_b[j]= X_boot$t0
> }
> return(cbind(ic_inf=ic_inf,ic_sup=ic_sup,b=b))
>}
>outX = func(X)
>outY = func(Y)
>outZ = func(Z)
>
>
>
>
>
>
>
>[]'s
>
>
>
>
>2012/1/5 Maria Papa <mceliamat em yahoo.com.br>
>
>Olá pessoal, boa tarde,
>>
>>
>>Gostaria da ajuda de vcs para nomear variáveis. Eu tenho este "for" que é aplicado para as três coordenadas de um ponto (XYZ). O procedimento é idêntico para os três, por isso, eu gostaria de saber se tem alguma forma de usar este mesmo conjunto mundando apenas o nome das coordenadas, no exemplo abaixo, eu faço com X e tenho os resutlados para X, depois e preciso para Y e Z. Eu fiz algumas tentativas com  "for," mas não deu certo.
>>
>>
>>
>>for (j in 1:n) {
>>X_e = rep(X[j], length(m))+ (runif(m, -U,U))
>>funX = function(X_e){mean(X_e)}
>>X_boot = one.boot(X_e,funX,R)
>>X_boot_ic= boot.ci(X_boot,conf = c(0.95),type = c("norm"))
>>ic_inf_X [j]= X_boot_ic$normal[2]
>>ic_sup_X [j] =
 X_boot_ic$normal[3]
>>X_b[j]= X_boot$t0
>>}
>>
>>
>>
>>
>>os resultados que eu preciso no final e portanto devem ser trocados o nome das coordenadas são os intervalos de confiança ic_inf_X, ic_sup_X e X_b
>>
>>
>>
>>
>>Desde já agradeço a todos. 
>>
>>
>>
>>Célia
>> 
>> 
>>
>>_______________________________________________
>>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.
>>
>
>_______________________________________________
>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.
>
>
>_______________________________________________
>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.
>

_______________________________________________
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/20120105/f4a9bddc/attachment.html>


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