[R-br] Converter dados de contagem em binomial
Caros Membros, Estou tentando converter dados de contagem de insetos mortos em notação binomial e estou fazendo algo errado, pois se tenho: trat-gl(5,10) ## 5 tratamentos com dez repetições tempo- gl(10,50) ## 10 avaliações no tempo dados-expand.grid(trat, tempo) colnames(dados)-c(trat,tempo) y-rpois(length(dados[,1]),10) ## Simula a variável resposta dados-cbind(dados,y) ## Converter os dados de contagem em binomial, por ex. se tenho 5, devo converter em 1 1 1 1 1 dados.bin - NULL for (i in 1:nrow(dados)) dados.bin - c(dados.bin, rep(c(1,dados[i,3]))) Por que para cada valor de contagem na coluna dados[,3] não tenho a transformação que espero? Obrigado, -- == Alexandre dos Santos Proteção 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:alexandresanto...@yahoo.com.br alexandre.san...@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 == ___ 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.
Re: [R-br] Converter dados de contagem em binomial
Pq tu ta usando c() e não rbind()... c() transforma tudo em vetor. Pelo que eu entendi, o que tu quer é isso: dados.bin - dados[rep(1:nrow(dados), times=dados$y), -3] 2013/12/10 ASANTOS alexandresanto...@yahoo.com.br Caros Membros, Estou tentando converter dados de contagem de insetos mortos em notação binomial e estou fazendo algo errado, pois se tenho: trat-gl(5,10) ## 5 tratamentos com dez repetições tempo- gl(10,50) ## 10 avaliações no tempo dados-expand.grid(trat, tempo) colnames(dados)-c(trat,tempo) y-rpois(length(dados[,1]),10) ## Simula a variável resposta dados-cbind(dados,y) ## Converter os dados de contagem em binomial, por ex. se tenho 5, devo converter em 1 1 1 1 1 dados.bin - NULL for (i in 1:nrow(dados)) dados.bin - c(dados.bin, rep(c(1,dados[i,3]))) Por que para cada valor de contagem na coluna dados[,3] não tenho a transformação que espero? Obrigado, -- == Alexandre dos Santos Proteção 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:alexandresanto...@yahoo.com.br alexandre.san...@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 == ___ 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. ___ 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.
Re: [R-br] Converter dados de contagem em binomial
Acredito que o jeito mais simples seja assim dados - expand.grid(trat=gl(3,4), tempo=1:5) dados$y - rpois(nrow(dados), lambda=10) dados$z - 1 dados2 - dados[rep(1:nrow(dados), dados$y),] xtabs(y~trat+tempo, data=dados) xtabs(z~trat+tempo, data=dados2) À disposição. Walmes. ___ 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.
Re: [R-br] Converter dados de contagem em binomial
Walmes, Perfeito, mas agora preciso achar um jeito para registrar os indivíduos que permanecem vivos no último tempo, através da declaração do número de indivíduos (tot) por tratamento, sendo: dados - expand.grid(trat=gl(3,4), tempo=1:5) dados$y - rpois(nrow(dados), lambda=10) dados$z - 1 dados2 - dados[rep(1:nrow(dados), dados$y),] xtabs(y~trat+tempo, data=dados) xtabs(z~trat+tempo, data=dados2) tot.dead-with(dados2, tapply(z, list(trat), sum, na.rm = T)) tot-212 ### Número de insetos por tratamento dif-tot-tot.dead dif # 1 2 3 10 36 9 Essa diferença (dif) precisa ser representada por zeros no max(tempo) e fundido a variável z no objeto dados2, com isso consigo criar a variável reposta para realizar análises de sobrevivência, como eu poderia fazer isto? Tenho tentado criar um rep(0, dif[,i]) no max(dados2$tempo), mas sem sucesso, Obrigado, Em 10/12/2013 13:33, walmes . escreveu: Acredito que o jeito mais simples seja assim dados - expand.grid(trat=gl(3,4), tempo=1:5) dados$y - rpois(nrow(dados), lambda=10) dados$z - 1 dados2 - dados[rep(1:nrow(dados), dados$y),] xtabs(y~trat+tempo, data=dados) xtabs(z~trat+tempo, data=dados2) À disposição. Walmes. ___ 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. -- == Alexandre dos Santos Proteção 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:alexandresanto...@yahoo.com.br alexandre.san...@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 == ___ 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.
Re: [R-br] Converter dados de contagem em binomial
Eu não sei exatamente porque você precisa dos dados dessa maneira, mas se é para correr um glm() binomial, basta que você tenha um vetor com o número de mortos e outro com o número de vivos. Não precisar estar em binário {0,1} não. tot - 212 da - expand.grid(trat=gl(3,4), tempo=1:5) da$y - rbinom(nrow(da), size=212, prob=0.5) m0 - glm(cbind(yes=y, no=212-y)~trat*tempo, da, family=binomial) summary(m0) Agora eu tive a impressão pelo seu texto de que você observa os insetos mortos em intervalos de tempo na mesma unidade experimental. Dessa maneira, no tempo i+1 jamais terá menos insetos mortos que o tempo i. As observações são tomadas na mesma unidade experimental. Esse experimento não pode deve analisado como um glm() com n=212 para todas as observações. Um caso exatamente igual ao seu experimento (se eu estiver correto) é o de índice de germinação de sementes. Por exemplo, 100 sementes são semeadas e a cada dia observa-se o número de germinadas. No dia 1 você tem n=100, se nasceram 5, para o dia 2 deve usar n=95 e não n=100. Em outras palavras, a cada acesso no tempo você tem uma binomial cujo n é o n-y do tempo anterior, ou seja, n[i+1] = n[i]-y[i], em que y[i] é o número de germinadas no tempo i. Os artigos da área aplicada fazem análise sem considerar esse importante fato (considerar n=100 para todos os tempos) é isso pode comprometer as conclusões. Outra forma de analisar os mesmos dados é ao invés de considerar o número germinadas no tempo i, é considerar o tempo necessário para germinar. Ambas análises (glm e sobrevivência) vão fornecer praticamente o mesmo resultado que do meu ponto de vista é saber qual o número esperado para quantidade de sementes germinadas em cada instante i. No glm você modela o p e multiplica por n para ter o número esperado de sementes em cada i. Na sobrevivência você ajusta o modelo e partir do ajuste obtém os quantis que dão a proporção de indivíduos que germinam à cada tempo. Eu confesso que sou curioso para comparar às duas abordagens. Será que os seus dados não servem para isso? À disposição. Walmes. ___ 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.
[R-br] regressão linear polinomial: classificar em simples ou múltipla (dúvida conceitual)
Caros membros, Vou usar da lista para possivelmente redimir uma dúvida conceitual, pois não vejo melhor local para fazê-lo, dado ao perfil dos usuários. Muitos autores classificam os modelos de regressão linear assim: 1- Simples (y = Bo + B1X) 2- Polinomial (y = Bo + B1X + B2X^2 + + B3X^3...) 3- Múltipla (y = Bo + B1X + B2Y + B3XY...) Outros (dando ênfase na variável preditora) classificam as polinomiais (dependentes de apenas uma variável fixa ou aleatória) como simples e usam r² (minúsculo) para o coef. de determinação, independente do grau do polinômio. Já outros (dando ênfase no modelo) classificam as polinomiais (dependentes de apenas uma variável fixa ou aleatória) como múltipla, e usam R² (maiúsculo) para o coef. de determinação, desde que tenha mais de um grau e independente do número de graus do polinômio. Gostaria muito da opinião do pessoal mais especializado sobre esse assunto! Não seria uma caso como o da a cerveja que desce redondo? Ou seja se a ênfase está no substantivo (cerveja) deveria ser: desce redonda. Outros pensam que redondo é um advérbio e se refere ao verbo descer, portanto, que está correta a concordância no masculino. http://salp-pmf.blogspot.com.br/2012/06/cerveja-que-desce-redondo-ou-redonda.html Ab, -- ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ Jose Claudio Faria Estatistica UESC/DCET/Brasil joseclaudio.faria at gmail.com Telefones: 55(73)3680.5545 - UESC 55(73)9100.7351 - TIM 55(73)8817.6159 - OI ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ ___ 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.
Re: [R-br] Converter dados de contagem em binomial
Por sinal, pegando carona na última colocação do Walmes, acho que a abordagem de análise de sobrevivência (que neste caso sobrevivência passa a ser o antônimo de germinação, mas vamos pensar que ainda assim seria uma metáfora), seria mais intuitiva para o tempo de germinação. Meus 0,019 -- Cesar Rabak 2013/12/10 walmes . walmeszevi...@gmail.com Eu não sei exatamente porque você precisa dos dados dessa maneira, mas se é para correr um glm() binomial, basta que você tenha um vetor com o número de mortos e outro com o número de vivos. Não precisar estar em binário {0,1} não. tot - 212 da - expand.grid(trat=gl(3,4), tempo=1:5) da$y - rbinom(nrow(da), size=212, prob=0.5) m0 - glm(cbind(yes=y, no=212-y)~trat*tempo, da, family=binomial) summary(m0) Agora eu tive a impressão pelo seu texto de que você observa os insetos mortos em intervalos de tempo na mesma unidade experimental. Dessa maneira, no tempo i+1 jamais terá menos insetos mortos que o tempo i. As observações são tomadas na mesma unidade experimental. Esse experimento não pode deve analisado como um glm() com n=212 para todas as observações. Um caso exatamente igual ao seu experimento (se eu estiver correto) é o de índice de germinação de sementes. Por exemplo, 100 sementes são semeadas e a cada dia observa-se o número de germinadas. No dia 1 você tem n=100, se nasceram 5, para o dia 2 deve usar n=95 e não n=100. Em outras palavras, a cada acesso no tempo você tem uma binomial cujo n é o n-y do tempo anterior, ou seja, n[i+1] = n[i]-y[i], em que y[i] é o número de germinadas no tempo i. Os artigos da área aplicada fazem análise sem considerar esse importante fato (considerar n=100 para todos os tempos) é isso pode comprometer as conclusões. Outra forma de analisar os mesmos dados é ao invés de considerar o número germinadas no tempo i, é considerar o tempo necessário para germinar. Ambas análises (glm e sobrevivência) vão fornecer praticamente o mesmo resultado que do meu ponto de vista é saber qual o número esperado para quantidade de sementes germinadas em cada instante i. No glm você modela o p e multiplica por n para ter o número esperado de sementes em cada i. Na sobrevivência você ajusta o modelo e partir do ajuste obtém os quantis que dão a proporção de indivíduos que germinam à cada tempo. Eu confesso que sou curioso para comparar às duas abordagens. Será que os seus dados não servem para isso? À disposição. Walmes. ___ 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. ___ 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.
Re: [R-br] Converter dados de contagem em binomial
Walmes, Solicitei desta maneira porque eu achava que em análises de sobrevivência, como no meu caso que utilizo o modelo de Weibull com a função survreg() do pacote survival, fosse necessário informar o número de indivíduos vivos (zeros) ao final do tempo experimental para se efetuar os ajustes e se ter um correto número de graus de liberdade. E você tem razão sim, avalio a mesma unidade experimental em determinados intervalos no tempo, como no exemplo postado abaixo, tenho 200 formigas em 2 tratamentos (100 formigas por tratamento - T1 e T2) e acompanhei a mortalidade durante 17 dias a cada 24 horas e acho que se encaixam na questão levanta por você, segue CRM: #--- # Download dos dados no dropbox links - c( https://www.dropbox.com/s/adawrlwws1ro7te/mortalidadeAtta3.txt;) tokens- gsub(^.*/s/,,dirname(links)) fileNames - basename(links) newLinks - file.path(http://dl.dropbox.com/s;, tokens, fileNames); newLinks for (a in newLinks) { tryCatch(download.file(a, dest=basename(a), mode='wb'), error=function(...) print(Falha no download!))} # Leitura dos dados dados-read.table(mortalidadeAtta3.txt, h=T) # Converte para notação binomial dados$z-1 dados2 - dados[rep(1:nrow(dados), dados$mort),] # Ajuste GLM binomial - m0 - glm(cbind(yes=mort, no=100-mort)~trat*tempo, dados, family=binomial) summary(m0) # Ajuste análise de sobrevivência de Weibull --- require(survival) m1-survreg(Surv(dados$tempo,dados$z)~dados$trat) summary(m1) #END --- Abraço, -- == Alexandre dos Santos Proteção 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:alexandresanto...@yahoo.com.br alexandre.san...@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 == Em 10/12/2013 16:20, walmes . escreveu: Eu não sei exatamente porque você precisa dos dados dessa maneira, mas se é para correr um glm() binomial, basta que você tenha um vetor com o número de mortos e outro com o número de vivos. Não precisar estar em binário {0,1} não. tot - 212 da - expand.grid(trat=gl(3,4), tempo=1:5) da$y - rbinom(nrow(da), size=212, prob=0.5) m0 - glm(cbind(yes=y, no=212-y)~trat*tempo, da, family=binomial) summary(m0) Agora eu tive a impressão pelo seu texto de que você observa os insetos mortos em intervalos de tempo na mesma unidade experimental. Dessa maneira, no tempo i+1 jamais terá menos insetos mortos que o tempo i. As observações são tomadas na mesma unidade experimental. Esse experimento não pode deve analisado como um glm() com n=212 para todas as observações. Um caso exatamente igual ao seu experimento (se eu estiver correto) é o de índice de germinação de sementes. Por exemplo, 100 sementes são semeadas e a cada dia observa-se o número de germinadas. No dia 1 você tem n=100, se nasceram 5, para o dia 2 deve usar n=95 e não n=100. Em outras palavras, a cada acesso no tempo você tem uma binomial cujo n é o n-y do tempo anterior, ou seja, n[i+1] = n[i]-y[i], em que y[i] é o número de germinadas no tempo i. Os artigos da área aplicada fazem análise sem considerar esse importante fato (considerar n=100 para todos os tempos) é isso pode comprometer as conclusões. Outra forma de analisar os mesmos dados é ao invés de considerar o número germinadas no tempo i, é considerar o tempo necessário para germinar. Ambas análises (glm e sobrevivência) vão fornecer praticamente o mesmo resultado que do meu ponto de vista é saber qual o número esperado para quantidade de sementes germinadas em cada instante i. No glm você modela o p e multiplica por n para ter o número esperado de sementes em cada i. Na sobrevivência você ajusta o modelo e partir do ajuste obtém os quantis que dão a proporção de indivíduos que germinam à cada tempo. Eu confesso que sou curioso para comparar às duas abordagens. Será que os seus dados não servem para isso? À disposição. Walmes. ___ 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. ___ R-br mailing list R-br@listas.c3sl.ufpr.br