[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