[R-br] Seleção em objeto tipo list

Fernando Mayer fernandomayer em gmail.com
Domingo Junho 2 21:33:01 BRT 2013


O que vc tem é um data.frame com uma lista na segunda "coluna", que
por sua vez é composta de mais 5 listas. Veja:

str(df)
'data.frame':    5 obs. of  2 variables:
 $ sample: num  -0.856 1.235 5 -0.823 0.217
 $ params:List of 5
  ..$ :List of 3
  .. ..$ mean: num 0
  .. ..$ sd  : num 1
  .. ..$ dist: chr "Normal"
  ..$ :List of 3
  .. ..$ shape: num 5
  .. ..$ rate : num 5
  .. ..$ dist : chr "Gamma"
  ..$ :List of 3
  .. ..$ size: num 7
  .. ..$ prob: num 0.7
  .. ..$ dist: chr "Binomial"
  ..$ :List of 3
  .. ..$ mean: num 2
  .. ..$ sd  : num 3
  .. ..$ dist: chr "Normal"
  ..$ :List of 2
  .. ..$ df  : num 3
  .. ..$ dist: chr "Student-T"
  ..- attr(*, "class")= chr "AsIs"

Existe mesmo a necessidade de fazer isso?

Para acessar o que vc quer (note que a "Binomial" está na lista 3, não
na 2) veja

df$params[[3]]
df$params[[3]]$dist




---
Fernando de Pol Mayer
Doutorando em Estatística e Experimentação Agronômica
Escola Superior de Agricultura "Luiz de Queiroz" - ESALQ
Universidade de São Paulo - USP
URL: http://fernandomayer.github.com
e-mail: fernando.mayer [@] {gmail.com, usp.br}


On Sun, Jun 2, 2013 at 9:14 PM, ASANTOS <alexandresantosbr em yahoo.com.br> wrote:
> Boa noite pessoal,
>
>        Uso muito pouco objetos do tipo list e tenho uma pergunta trivial,
> quando faço:
>
> df <-
> data.frame(sample=rnorm(1,0,1),params=I(list(list(mean=0,sd=1,dist="Normal"))))
> df <-
> rbind(df,data.frame(sample=rgamma(1,5,5),params=I(list(list(shape=5,rate=5,dist="Gamma")))))
> df <-
> rbind(df,data.frame(sample=rbinom(1,7,0.7),params=I(list(list(size=7,prob=0.7,dist="Binomial")))))
> df <-
> rbind(df,data.frame(sample=rnorm(1,2,3),params=I(list(list(mean=2,sd=3,dist="Normal")))))
> df <-
> rbind(df,data.frame(sample=rt(1,3),params=I(list(list(df=3,dist="Student-T")))))
> #
> df[[2]] ## Objeto 2
> novo<-df[[2]]=="Binomial" ## Não funciona
> novo<-df[[2=="Binomial",]] ## Tambem não funciona
>
>     Quero selecionar somente "Binomial" dentro de [[2]] em novo objeto
> chamado novo e não estou conseguindo, como faço isto?
>
> Obrigado,
>
> --
> ======================================================================
> Alexandre dos Santos
> Proteção Florestal
> Coordenador do curso Técnico em Florestas
> Vice Coordenador do curso de Engenharia Florestal
> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
> Campus Cáceres
> Caixa Postal 244
> Avenida dos Ramires, s/n
> Bairro: Distrito Industrial
> Cáceres - MT                      CEP: 78.200-000
> Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
> e-mails:alexandresantosbr em yahoo.com.br
>         alexandre.santos em cas.ifmt.edu.br
> ======================================================================
>
> _______________________________________________
> 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.


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