Seleção em objeto tipo list

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@yahoo.com.br alexandre.santos@cas.ifmt.edu.br ======================================================================

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@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@yahoo.com.br alexandre.santos@cas.ifmt.edu.br ======================================================================
_______________________________________________ R-br mailing list R-br@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.
participantes (2)
-
ASANTOS
-
Fernando Mayer