[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