[R-br] Converter dados de contagem em binomial

2013-12-10 Por tôpico ASANTOS

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

2013-12-10 Por tôpico Rodrigo Coster
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

2013-12-10 Por tôpico walmes .
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

2013-12-10 Por tôpico ASANTOS

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

2013-12-10 Por tôpico walmes .
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)

2013-12-10 Por tôpico Jose Claudio Faria
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

2013-12-10 Por tôpico Cesar Rabak
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

2013-12-10 Por tôpico ASANTOS

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