Converter o vetor de slot de lista para que cada elemento do vetor seja um slot dela

Saudações a todos, Estou montando um procedimento em que numa certa altura do código eu preciso de uma lista. Eu possuo um vetor nomeado que quero incluir nessa lista, mas que cada elemento do vetor seja um slot da lista, sendo o primeiro slot é x NULL e o ultimo o corpo de uma função. Abaixo tento via código esclarecer o meu objetivo. #----------------------------------------------------------------------------- # uma função fn <- function(x){ sen(x) } #----------------------------------------------------------------------------- # um vetor vec <- c(a=1, b=2, c=3, d=4) #----------------------------------------------------------------------------- # a lista que sei até agora obter(preciso converte-la) list(x=NULL, vec, body(fn)) $x NULL [[2]] a b c d 1 2 3 4 [[3]] { sen(x) } #----------------------------------------------------------------------------- # como faço para obter essa lista aqui, em que cada elemento do vetor # é um slot da lista, ficando assim, mas convertendo a lista de cima? # essa abaixo é a lista no formato de que preciso list(x=NULL, a=1, b=2, c=3, d=4, body(fn)) $x NULL $a [1] 1 $b [1] 2 $c [1] 3 $d [1] 4 [[6]] { sen(x) } #----------------------------------------------------------------------------- Grato à todos. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Walmes, com alguma modificação, mas veja se isso ajuda: lis <- list(x=NULL, body(fn)) append(lis, vec, after=1) []s, --- Fernando Mayer URL: http://sites.google.com/site/fernandomayer e-mail: fernandomayer [@] gmail.com 2011/4/9 Walmes Zeviani <walmeszeviani@gmail.com>:
Saudações a todos,
Estou montando um procedimento em que numa certa altura do código eu preciso de uma lista. Eu possuo um vetor nomeado que quero incluir nessa lista, mas que cada elemento do vetor seja um slot da lista, sendo o primeiro slot é x NULL e o ultimo o corpo de uma função. Abaixo tento via código esclarecer o meu objetivo.
#----------------------------------------------------------------------------- # uma função
fn <- function(x){ sen(x) }
#----------------------------------------------------------------------------- # um vetor
vec <- c(a=1, b=2, c=3, d=4)
#----------------------------------------------------------------------------- # a lista que sei até agora obter(preciso converte-la)
list(x=NULL, vec, body(fn)) $x NULL
[[2]] a b c d 1 2 3 4
[[3]] { sen(x) }
#----------------------------------------------------------------------------- # como faço para obter essa lista aqui, em que cada elemento do vetor # é um slot da lista, ficando assim, mas convertendo a lista de cima? # essa abaixo é a lista no formato de que preciso
list(x=NULL, a=1, b=2, c=3, d=4, body(fn)) $x NULL
$a [1] 1
$b [1] 2
$c [1] 3
$d [1] 4
[[6]] { sen(x) }
#-----------------------------------------------------------------------------
Grato à todos. Walmes.
========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

Não é muito elegante (leia-se: vou ser morto por mandar um código com for pra lista :P), mas faz o que tu quer... fn <- function(x){ sen(x) } vec <- c(a=1, b=2, c=3, d=4) l1 <- as.list(vec) lista <- list(x=NULL) n <- 1:length(vec) for (i in 1:length(vec)) { lista[[i+1]] <- l1[[i]] } names(lista)[n+1] <- names(vec) lista[[length(n)+2]] <- body(fn) Outra solução que consegui foi fazer uma lista dentro da lista, dai ficou assim: list(x=NULL,as.list(vec),body(fn)) 2011/4/9 Walmes Zeviani <walmeszeviani@gmail.com>
Saudações a todos,
Estou montando um procedimento em que numa certa altura do código eu preciso de uma lista. Eu possuo um vetor nomeado que quero incluir nessa lista, mas que cada elemento do vetor seja um slot da lista, sendo o primeiro slot é x NULL e o ultimo o corpo de uma função. Abaixo tento via código esclarecer o meu objetivo.
#----------------------------------------------------------------------------- # uma função
fn <- function(x){ sen(x) }
#----------------------------------------------------------------------------- # um vetor
vec <- c(a=1, b=2, c=3, d=4)
#----------------------------------------------------------------------------- # a lista que sei até agora obter(preciso converte-la)
list(x=NULL, vec, body(fn)) $x NULL
[[2]] a b c d 1 2 3 4
[[3]] { sen(x) }
#----------------------------------------------------------------------------- # como faço para obter essa lista aqui, em que cada elemento do vetor # é um slot da lista, ficando assim, mas convertendo a lista de cima? # essa abaixo é a lista no formato de que preciso
list(x=NULL, a=1, b=2, c=3, d=4, body(fn)) $x NULL
$a [1] 1
$b [1] 2
$c [1] 3
$d [1] 4
[[6]] { sen(x) }
#-----------------------------------------------------------------------------
Grato à todos. Walmes.
========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

Olá Walber, Tá feio, mas acho que da p vc melhorar! # cust <- function(x,fun) { nomes <- names(vec) lista <- list() lista[[1]] <- NULL TAM <- length(x) for (i in 1:TAM+1) lista[[i]] <- as.numeric(x[i-1]) lista[[TAM+2]] <- fun names(lista) <- c("x",names(vec),"fun") lista } ------- []´s Oswaldo De: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Walmes Zeviani Enviada em: sábado, 9 de abril de 2011 15:30 Para: r-br@listas.c3sl.ufpr.br Assunto: [R-br] Converter o vetor de slot de lista para que cada elemento do vetor seja um slot dela Saudações a todos, Estou montando um procedimento em que numa certa altura do código eu preciso de uma lista. Eu possuo um vetor nomeado que quero incluir nessa lista, mas que cada elemento do vetor seja um slot da lista, sendo o primeiro slot é x NULL e o ultimo o corpo de uma função. Abaixo tento via código esclarecer o meu objetivo. #-------------------------------------------------------------------------- --- # uma função fn <- function(x){ sen(x) } #-------------------------------------------------------------------------- --- # um vetor vec <- c(a=1, b=2, c=3, d=4) #-------------------------------------------------------------------------- --- # a lista que sei até agora obter(preciso converte-la) list(x=NULL, vec, body(fn)) $x NULL [[2]] a b c d 1 2 3 4 [[3]] { sen(x) } #-------------------------------------------------------------------------- --- # como faço para obter essa lista aqui, em que cada elemento do vetor # é um slot da lista, ficando assim, mas convertendo a lista de cima? # essa abaixo é a lista no formato de que preciso list(x=NULL, a=1, b=2, c=3, d=4, body(fn)) $x NULL $a [1] 1 $b [1] 2 $c [1] 3 $d [1] 4 [[6]] { sen(x) } #-------------------------------------------------------------------------- --- Grato à todos. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ========================================================================== -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo.

Opsss! A primeira função tinha erros! cust <- function(x,fun) { nomes <- names(x) lista <- list() lista[[1]] <- NULL TAM <- length(x) for (i in 1:TAM+1) lista[[i]] <- as.numeric(x[i-1]) lista[[TAM+2]] <- fun names(lista) <- c("x",names(x),"fun") lista } []´s Oswaldo De: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Walmes Zeviani Enviada em: sábado, 9 de abril de 2011 15:30 Para: r-br@listas.c3sl.ufpr.br Assunto: [R-br] Converter o vetor de slot de lista para que cada elemento do vetor seja um slot dela Saudações a todos, Estou montando um procedimento em que numa certa altura do código eu preciso de uma lista. Eu possuo um vetor nomeado que quero incluir nessa lista, mas que cada elemento do vetor seja um slot da lista, sendo o primeiro slot é x NULL e o ultimo o corpo de uma função. Abaixo tento via código esclarecer o meu objetivo. #-------------------------------------------------------------------------- --- # uma função fn <- function(x){ sen(x) } #-------------------------------------------------------------------------- --- # um vetor vec <- c(a=1, b=2, c=3, d=4) #-------------------------------------------------------------------------- --- # a lista que sei até agora obter(preciso converte-la) list(x=NULL, vec, body(fn)) $x NULL [[2]] a b c d 1 2 3 4 [[3]] { sen(x) } #-------------------------------------------------------------------------- --- # como faço para obter essa lista aqui, em que cada elemento do vetor # é um slot da lista, ficando assim, mas convertendo a lista de cima? # essa abaixo é a lista no formato de que preciso list(x=NULL, a=1, b=2, c=3, d=4, body(fn)) $x NULL $a [1] 1 $b [1] 2 $c [1] 3 $d [1] 4 [[6]] { sen(x) } #-------------------------------------------------------------------------- --- Grato à todos. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ========================================================================== -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo.

Tente assim Walmes: c(list(x = NULL), as.list(vec), body(fn)) 2011/4/9 Walmes Zeviani <walmeszeviani@gmail.com>:
Saudações a todos,
Estou montando um procedimento em que numa certa altura do código eu preciso de uma lista. Eu possuo um vetor nomeado que quero incluir nessa lista, mas que cada elemento do vetor seja um slot da lista, sendo o primeiro slot é x NULL e o ultimo o corpo de uma função. Abaixo tento via código esclarecer o meu objetivo.
#----------------------------------------------------------------------------- # uma função
fn <- function(x){ sen(x) }
#----------------------------------------------------------------------------- # um vetor
vec <- c(a=1, b=2, c=3, d=4)
#----------------------------------------------------------------------------- # a lista que sei até agora obter(preciso converte-la)
list(x=NULL, vec, body(fn)) $x NULL
[[2]] a b c d 1 2 3 4
[[3]] { sen(x) }
#----------------------------------------------------------------------------- # como faço para obter essa lista aqui, em que cada elemento do vetor # é um slot da lista, ficando assim, mas convertendo a lista de cima? # essa abaixo é a lista no formato de que preciso
list(x=NULL, a=1, b=2, c=3, d=4, body(fn)) $x NULL
$a [1] 1
$b [1] 2
$c [1] 3
$d [1] 4
[[6]] { sen(x) }
#-----------------------------------------------------------------------------
Grato à todos. Walmes.
========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O
participantes (5)
-
Fernando Mayer
-
Henrique Dallazuanna
-
Oswaldo G Cruz
-
Rodrigo Coster
-
Walmes Zeviani