Re: [R-br] Modelo de regressão separando por sexo

2017-12-01 Por tôpico Paulo Dick via R-br
Olá,

Eu costumo usar subset. Mas não sei se o erro é por causa disso. Se não
funcionar, tente fornecer código que seja reproduzível.


GLM.2 <- glm(dent ~ idcat2, family=binomial(logit), data=subset(reg, sexo
== 1) )

Em 1 de dezembro de 2017 14:28, Luciane Maria Pilotto via R-br <
r-br@listas.c3sl.ufpr.br> escreveu:

> Olá,
>
> estou tentando rodar análises de regressão separando por sexo 
> (data=reg[reg$sexo
> == 1, ]) e resulta no seguinte erro:
>
> GLM.2 <- glm(dent ~ idcat2, family=binomial(logit), data=reg[reg$sexo ==
> 1, ])
>
> Error in model.frame.default(formula = dent ~ idcat2, data = reg[reg$sexo
> ==  :
>   comprimentos das variáveis diferem (encontradas em 'idcat2')
>
> Alguma dica?
>
>
> _
> Luciane Maria Pilotto
>
>
> ___
> 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.
>



-- 

*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
___
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] Identificando divergências entre nomes

2017-08-24 Por tôpico Paulo Dick via R-br
Prezados,

Gostaria de sugestões para encarar o seguinte problema:

Estou uma base que contém um código identificador e o nome da pessoa.
Teoricamente, cada código é único e representa uma única pessoa, mas posso
ter falhas. Além disso, posso ter problema de digitação.

Segue exemplo:

id  nome
1  100JOAO SILVA
2  100SILVA JOAO
3  101MARIA DA SILVA
4  101 MARIA SOARES DA SILVA
5  102   JOSE CANCIO
6  102   LEONORA FURTADO
7  102   LEONORA FURTADO
8  103 JOSE TRINDADE
9  103  JOSE TRINDDE
10 104   PAULO SILVA
11 105LUIZ COSTA
12 106 ISABEL CHAGAS
13 106 CHAGAS ISABEL
14 107 VANIA VALERIA
15 107 SANDRA SANTOS

Nesse caso, no id 100 tenho problema de digitação, mas se trata da mesma
pessoa. O mesmo ocorre nos ids 101, 103 e 106. No id 103 tenho um erro de
digitação. No id 102 tenho duas pessoas diferentes, assim como no 107.

Como eu poderia automatizar a avaliação de quais ids tenho pessoas
diferentes?

> dput(teste)
structure(list(id = c(100, 100, 101, 101, 102, 102, 102, 103,
103, 104, 105, 106, 106, 107, 107), nome = structure(c(3L, 13L,
9L, 10L, 4L, 7L, 7L, 5L, 6L, 11L, 8L, 2L, 1L, 14L, 12L), .Label = c("CHAGAS
ISABEL",
"ISABEL CHAGAS", "JOAO SILVA", "JOSE CANCIO", "JOSE TRINDADE",
"JOSE TRINDDE", "LEONORA FURTADO", "LUIZ COSTA", "MARIA DA SILVA",
"MARIA SOARES DA SILVA", "PAULO SILVA", "SANDRA SANTOS", "SILVA JOAO",
"VANIA VALERIA"), class = "factor")), .Names = c("id", "nome"
), row.names = c(NA, -15L), class = "data.frame")

Obrigado e abraços

*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716
___
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] (sem assunto)

2017-06-26 Por tôpico Paulo Dick via R-br
Veja ?confint


*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716

Em 26 de junho de 2017 12:07, Alice Peres via R-br  escreveu:

> Bom dia pessoal, estou urgentemente precisando de ajuda! Como é o
> intervalo de confiança dos coeficientes do modelo de regressão linear
> múltiplo ?
>
>
> Att
>
> ___
> 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] Modelo linear com autocorrelação

2017-01-02 Por tôpico Paulo Dick via R-br
Cesar,

Agradeço pela contribuição.

Sobre a diferença que estranhei a priori, foi puro "achismo". Não esperava
que a diferença nos coeficientes fosse grande, mesmo sendo duas modelagens
distintas. Pensando melhor, já que espero que o termo AR(1) seja
responsável por parte da "aparente correlação" entre os dados, me parece
normal que os coeficientes sejam menores.

A necessidade ao final é quantificar a associação entre as variáveis que
estou usando, e posteriormente comparar os resultados obtidos utilizando
este conjunto e outro similar. A correlação temporal proposta seria a forma
de evitar cair uma uma análise "ingênua", já que minha hipótese de
independência não é satisfeita.


*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716

Em 21 de dezembro de 2016 19:52, Cesar Rabak <cesar.ra...@gmail.com>
escreveu:

> Paulo,
>
> Considerando que você está com duas modelagens de processos completamente
> diferentes, qual é o seu racional para aferir a « . . . diferença
> relativamente grande nos coeficientes estimados do modelo a partir da
> inclusão. »?
>
> Além da questão mais matemática da análise estatística que você está
> encetando, você está tentando detectar uma correlação temporal nos seus
> dados a partir de duas medidas derivadas de indicadores econômicos e
> entende que a variação trimestral é apropriada para elas?
>
> --
> Cesar Rabak
>
>
>
>
> 2016-12-21 17:39 GMT-02:00 Paulo Dick via R-br <r-br@listas.c3sl.ufpr.br>:
>
>> Caros colegas,
>>
>> Gostaria da ajuda de vocês com um problema, que tem um pouco de novidade
>> para mim.
>>
>> Possuo uma série de 19 resultados agregados por trimestre, para os quais
>> espero que haja uma estrutura de correlação temporal. Gostaria de fazer um
>> modelo linear que relacione a variável y (média de rendimentos) às
>> variáveis x1 (medida derivada do salário mínimo) e x2 (medida derivada do
>> PIB). Pensei em fazer um autorregressivo de ordem 1, de acordo com a
>> estrutura a seguir (omiti algumas passagens das saídas):
>>
>> dados <- structure(list(periodo = structure(1:19, .Label = c("2012_01", 
>> "2012_02",
>> "2012_03", "2012_04", "2013_01", "2013_02", "2013_03", "2013_04",
>> "2014_01", "2014_02", "2014_03", "2014_04", "2015_01",
>> "2015_02", "2015_03", "2015_04", "2016_01", "2016_02", "2016_03"), class
>> = "factor"), y = c(733.384601, 744.827647, 753.5034207, 753.1709712,
>> 768.7507878, 777.6006481, 791.1782806, 791.9151729,
>> 811.0964066, 780.0872518, 767.3666407, 793.1892722, 812.0534955, 797.8992735,
>> 786.6962087 <(786)%20696-2087>, 776.6167214, 781.8815115
>> <(781)%20881-5115>, 778.9038465 <(778)%20903-8465>, 783.0461686), x1 =
>> c(8.569195652, 8.466388156, 8.389005478, 8.243063605,
>> 8.786043379, 8.665048836, 8.619304392, 8.494686625, 8.877923393, 8.69843061,
>> 8.641290323, 8.512972168, 8.971745386, 8.727847168, 8.587190411,
>> 8.386888367, 9.078997556, 8.915777833, 8.8), x2 = c(163.19,
>> 167.97, 173.63, 171.91, 167.62, 174.71, 178.42, 176.29, 173.51, 174.02,
>> 177.27, 175.74, 170.41, 168.87, 169.24, 165.62, 161.17, 162.82,
>> 164.38)), .Names = c("periodo", "y", "x1", "x2"), row.names = c(NA,
>> -19L), class = "data.frame")
>>
>> > # Modelo sem correlacao
>> *> summary(lm(log(y) ~ x1 + x2, data = dados))*
>>
>> [...]
>> Coefficients:
>>  Estimate Std. Error t value Pr(>|t|)
>> (Intercept) 5.4405431  0.3047514  17.852 5.47e-12 ***
>> x1  0.088  0.0234849   3.766  0.00169 **
>> x2  0.0026444  0.0009688   2.730  0.01484 *
>> ---
>> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>>
>> > # Modelo com correlacao
>> *> summary(gls(log(y) ~ x1 + x2, data = dados, correlation =
>> corARMA(p=1)))*
>> [...]
>> Correlation Structure: AR(1)
>>  Formula: ~1
>>  Parameter estimate(s):
>>   Phi
>> 0.8897408
>>
>> Coefficients:
>>Value Std.Error   t-value p-value
>> (Intercept) 6.025572 0.3182184 18.935334  0.
>> x1  0.042154 0.0168588  2.500400  0.0237
>> x2  0.001515 0.0012822  1.181606  0.2546
>>
>>
>> Estranhei a diferença relativamente grande nos coeficientes estimados do
>> modelo a partir da inclusão. Graficamente, testei fazer apenas com x1 e o
>> modelo pareceu não ter ajust

Re: [R-br] Heterocedasticidade e teste de média

2016-11-04 Por tôpico Paulo Dick via R-br
Olá Wagner,

Obrigado pela ilustração do exemplo. Não consegui reproduzir a linha do
fit2, especificamente o comando mc_dglm.

Você sugeriria algum texto para maior aprofundamento?


*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716

Em 4 de novembro de 2016 16:46, Luiz Leal via R-br  escreveu:

> Wagner, meu interesse é, uma vez identificado que existe diferença entre
> os tratamentos (considerando que um deles é o controle) utilizar o teste de
> Dunnett para verificar quais tratamentos diferem do tratamento controle.
> Como o pressuposto de homogeneidade das variâncias é violado busquei
> alternativas para "homogeneizar" as variâncias. Posso aplicar esse teste a
> partir do modelo acima descrito?
> Desde já agradeço
> Luiz
> PS. Não consegui instalar o pacote
>
>
> On Friday, November 4, 2016 4:13 PM, Wagner Bonat via R-br <
> r-br@listas.c3sl.ufpr.br> wrote:
>
>
> Caros,
>
> Alguém postou esse conjunto de dados com problema de pressupostos,
> principalmente heterocedasticidade. Agora a pouco veio outro e-mail com um
> problema similar. Fiz um exemplo um pouco mais detalhado de como isso pode
> ser facilmente resolvido e mostrando o efeito disso no modelo.
>
> # Example 2 
> Fenois = c(337.311, 344.874, 342.353, 325.546, 333.950, 330.588, 328.067,
>328.067, 318.824, 331.429, 333.950, 334.790, 336.471, 338.151,
>342.353, 259.160, 252.437, 268.403, 265.882, 266.723, 287.731,
>88.571, 88.571,  90.252,  41.513,  52.437,  49.076,  88.571,
>88.571,  90.252,  64.202,  60.000,  61.681)
> Cor = factor(c(rep("ambar",6), rep("ambar_claro",3), rep("ambar",6),
>rep("ambar_claro",6),rep("branco",6),
>rep("extra_ambar_claro",3),rep("branco",3)))
>
> # Exploratory analysis
> boxplot(Fenois ~ Cor)
> tapply(Fenois, Cor, sd)
> dados <- data.frame(Fenois, Cor)
> dados$id <- 1
>
> # Fitting
> fit1 <- mcglm(c(Fenois ~ Cor), list(mc_id(dados)), data = dados)
> fit2 <- mcglm(c(Fenois ~ Cor), list(mc_dglm(~ Cor, id = "id", data =
> dados)),
>   covariance = "expm", data = dados)
> # Goodness-of-fit
> gof(fit1)
> gof(fit2)
>
> # Comparing estimates and standard errors
> coef(fit1, type = "beta", std.error = TRUE)
> coef(fit2, type = "beta", std.error = TRUE)
>
> O interessante é que a estimativa pontual é exatamente a mesma, porém
> olha a enorme diferença nos erros padrões dos betas.
>
> --
> Wagner Hugo Bonat
> 
> --
> Department of Mathematics and Computer Science (IMADA)
> University of Southern Denmark (SDU) and
> Laboratório de Estatística e Geoinformação (LEG)
> Universidade Federal do Paraná (UFPR)
>
>
> ___
> 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� c�igo
> m�imo reproduz�el.
>
>
> ___
> 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] Regressão linear - Excluindo outliers

2016-10-14 Por tôpico Paulo Dick via R-br
David,

Depende de como você identifica os outliers. Coloquei um exemplo usando a
distancia de Cook, mas da para generalizar com outros critérios

# gera dados e forca outlier
x <- 1:20
y <- 2*x + 5 + rnorm(20)
dados <- data.frame(x,y)
dados$y[c(7,11)] <- dados$y[c(7,11)] + 15

# modelo inicial e sem outliers
mod <- lm(y~x, dados)
outliers <- (cooks.distance(mod) > 0.2)
mod2 <- lm(y~x, subset(dados, !outliers))



*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716

Em 14 de outubro de 2016 11:26, Mac David S. Pinto via R-br <
r-br@listas.c3sl.ufpr.br> escreveu:

> Pessoal, bom dia
>
> Estou fazendo algumas regressões lineares entre Comprimento x Peso de
> peixes com um conjunto de dados bastante extenso (+- 1000 linhas).
>
> Acontece que alguns destes valores são outliers (+- 50) e na analise, eles
> não são importantes.
>
> Tem alguma função no R que eu consiga "selecionar" os outliers e pedir que
> não seja considerado na analise? Sem precisa mudar minha planilha original
> (já que vou utilizar para outras coisas futuramente)
>
> Tem alguns valores que estão no meio dos planilhas de dados.
>
> Eu consegui resolver os extremos selecionado um conjunto de linhas
>
> Exemplo:
>
> Local.F.1<-lm(pt[4:970,7]~ls[4:970,6])
>
> ## Com este comando eu retire os outliers dos extremos (linhas 1 a 3 e
> linhas 971 a 1000), mais ainda tem alguns valores no meio do analise (+-
> entre as linhas  251 a 260)
>
> De já, eu agradeço a ajuda
>
> David
>
> ___
> 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] Unindo colunas de um data-frame

2016-09-03 Por tôpico Paulo Dick via R-br
with(base, paste0(A,B,C))


*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716

Em 3 de setembro de 2016 06:52, Emerson Cotta Bodevan via R-br <
r-br@listas.c3sl.ufpr.br> escreveu:

> Obrigado alisson
>
> Em 3 de set de 2016 1:48 AM, "Alisson Lucrécio via R-br" <
> r-br@listas.c3sl.ufpr.br> escreveu:
>
>> install.packages("dplyr")
>>
>> library(dplyr)
>>
>> df %>%
>>   mutate(x = as.numeric(as.character(paste0(A, B, C
>>
>> 2016-09-02 23:56 GMT-03:00 R-br mailing list [via R-br] <
>> ml-node+s2285057n405...@n4.nabble.com>:
>>
>>> Pessoal, boa noite.
>>>
>>> Tenho um conjunto de dados armazenados em um data.frame com três
>>> colunas, como segue:
>>>
>>> A B C
>>> 3 4 6
>>> 1 2 9
>>> 3 2 5
>>> . . .
>>>
>>> Gostaria de gerar um vetor com os seguintes números:
>>> 346 129 325 ...
>>>
>>> Ou seja, os números do vetor possuem três algarismos. Eles são formados
>>> pela união dos trẽs números de cada linha do data frame.
>>>
>>> Obrigado por qualquer ajuda,
>>>
>>> *Emerson*
>>>
>>> ___
>>> R-br mailing list
>>> [hidden email] 
>>> 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.
>>>
>>> --
>>> If you reply to this email, your message will be added to the discussion
>>> below:
>>> http://r-br.2285057.n4.nabble.com/R-br-Unindo-colunas-de-um-
>>> data-frame-tp405.html
>>> To unsubscribe from R-br, click here
>>> 
>>> .
>>> NAML
>>> 
>>>
>>
>>
>>
>> --
>> Alisson Lucrecio da Costa
>>
>> ___
>> 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.
>
___
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] Exclusão de casos por critério temporal

2016-08-23 Por tôpico Paulo Dick via R-br
Olá a todos,

Apliquei a solução proposta pelo Henrique na base completa e funcionou
perfeitamente. A estrutura que eu tinha montado (com os dois loops) não
tinha funcionado 100%, mas esta sim:

teste[unlist(sapply(split(teste, teste$identificador), function(x)c(TRUE,
unlist(diff(x$mes) >= 3,]

Abraços e obrigado novamente.


*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716

Em 1 de agosto de 2016 11:15, Éder Comunello <comunello.e...@gmail.com>
escreveu:

> Paulo, olá novamente!
>
> Fiz um teste, aproveitando a ideia colocada pelo Henrique...
>
> teste <- data.frame(id=rep(1:3, each=10), ano=2016,
> mes=c(1:5,7,9:12,1:3,6:12,1:10))
> teste$tri <- ceiling(teste$mes/3)+1
> del <- which(duplicated(teste[,c(1,2,4)]))
>
> res1 <- teste[-del,]; res1
>
> res2 <- teste[unlist(sapply(split(teste, teste$id), function(x) c(TRUE,
> unlist(diff(x$mes) >= 3,]; res2
>
> res3 <- res1[unlist(sapply(split(res1, res1$id), function(x) c(TRUE,
> unlist(diff(x$mes) >= 3,]; res3
>
> Mas acredito que ainda não seja o que você pretende. Pelo que entendi a
> saída correta seria tal como colocado abaixo:
>
> # id  ano mes tri
> # 1   1 2016   1   2
> # 4   1 2016   4   3
> # 6   1 2016   7   4
> # 8   1 2016  10   5
> # 11  2 2016   1   2
> # 14  2 2016   6   3
> # 15  2 2016   9   4
> # 18  2 2016  12   5
> # 21  3 2016   1   2
> # 24  3 2016   4   3
> # 27  3 2016   7   4
> # 30  3 2016  10   5
>
>
> 
> Éder Comunello
> Researcher at Brazilian Agricultural Research Corporation (Embrapa)
> DSc in Agricultural Systems Engineering (USP/Esalq)
> MSc in Environ. Sciences (UEM), Agronomist (UEM)
> ---
> Embrapa Agropecuária Oeste, Dourados, MS, Brazil ||
> 
> GEO, -22.2752, -54.8182, 408m
> UTC-04:00 / DST: UTC-03:00
>
>
>
>
> Em 1 de agosto de 2016 09:14, Éder Comunello <comunello.e...@gmail.com>
> escreveu:
>
>> Só corrigindo o código que postei... De fato, para o trimestre seria:
>>
>> dat$tri <- ceiling(dat$mes/3)+1
>>
>>
>> 
>> Éder Comunello
>> Researcher at Brazilian Agricultural Research Corporation (Embrapa)
>> DSc in Agricultural Systems Engineering (USP/Esalq)
>> MSc in Environ. Sciences (UEM), Agronomist (UEM)
>> ---
>> Embrapa Agropecuária Oeste, Dourados, MS, Brazil ||
>> 
>> GEO, -22.2752, -54.8182, 408m
>> UTC-04:00 / DST: UTC-03:00
>>
>>
>>
>>
>> Em 29 de julho de 2016 09:20, Éder Comunello <comunello.e...@gmail.com>
>> escreveu:
>>
>>> Paulo, bom dia!
>>>
>>> # Uma alternativa é identificar o trimestre de cada observação...
>>> dat <- data.frame(id=rep(1:4, 6:3), ano=2016,
>>> mes=c(1,2,3,5,6,10,3,7,8,11,12,2,5,9,12,1,3,4))
>>> dat$tri <- ceiling(dat$mes/4)+1
>>>
>>> # E preservar somente a mais antiga dentro de cada trimestre...
>>> del <- which(duplicated(dat[,c(1,2,4)]))
>>> dat[-del,] # dados que permanecem
>>> dat[del,]  # dados retirados
>>>
>>>
>>> ================
>>> Éder Comunello
>>> Researcher at Brazilian Agricultural Research Corporation (Embrapa)
>>> DSc in Agricultural Systems Engineering (USP/Esalq)
>>> MSc in Environ. Sciences (UEM), Agronomist (UEM)
>>> ---
>>> Embrapa Agropecuária Oeste, Dourados, MS, Brazil ||
>>> 
>>> GEO, -22.2752, -54.8182, 408m
>>> UTC-04:00 / DST: UTC-03:00
>>>
>>>
>>>
>>>
>>> Em 27 de julho de 2016 09:07, Paulo Dick via R-br <
>>> r-br@listas.c3sl.ufpr.br> escreveu:
>>>
>>>> Companheiros, bom dia.
>>>>
>>>> Gostaria que me ajudassem na solução do seguinte problema:
>>>>
>>>> Tenho uma base que possui mais de um registro por indivíduo, que
>>>> preciso fazer uma limpeza a partir das variáveis mês e ano. Preciso retirar
>>>> apenas os registros que possuem intervalo de tempo menor que 3 meses entre
>>>> eles, priorizando os registros mais antigos. Ou seja, se tenho 4 registros
>>>> para um mesmo indivíduo, nos meses 1, 3, 5 e 6 (mesmo ano), fico com as
>>>> linhas dos meses 1 e 5, e excluo a linha dos meses 3 e 6.
>>>>
>>>> Segue sintaxe para gerar fragmento extraído

Re: [R-br] Exclusão de casos por critério temporal

2016-07-30 Por tôpico Paulo Dick via R-br
Olá Eder,

Agradeço a resposta. Essa estrutura não me atende por completo, pois se eu
tiver registros nos meses 3 e 4 ele mantém os dois, já que estão em
trimestres diferentes, mesmo com um mês de diferença.

Acabei conseguindo montar um monstro aqui, dois loops varrendo os registros
um a um, mas que serviu ao que eu precisava:

teste <-
structure(list(identificador = structure(c(1L, 1L, 2L, 2L, 3L,
  3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 8L, 9L, 9L, 10L,
  10L), .Label = c("1", "2", "3", "4", "5", "6", "7", "8", "9",
"10"), class = "factor"), ano = c(2016L, 2016L, 2016L, 2016L,
  2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L,
  2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L), mes = c(5L,
6L, 2L, 7L, 3L, 7L, 2L, 6L, 2L, 5L, 5L, 6L, 6L, 7L, 1L, 3L, 6L,
3L, 6L, 2L, 7L)), .Names = c("identificador", "ano", "mes"),
row.names = c(NA,
  21L), class = "data.frame")

### LIMPEZA ###

# Separa vetor com os nomes dos individuos onde ha duplicata no registro de
temporarios
individuos <- as.character(unique(teste$identificador))

# Cria objeto que recebera a base de temporarios apos limpeza
teste_limpo <- data.frame(matrix(NA, 0, ncol(teste)))
names(teste_limpo) <- names(teste)

# Loop
for (contador in individuos) {

  # Separa os registros para cada individuo
  teste_individual <- subset(teste, identificador == contador)

  # Loop para cada registro no individuo - comeca no primeiro registro, que
sera o mais antigo dado que a base esta ordenada
  i = 1

  repeat {

# Descarta os casos em que a diferenca de tempo e menor que 3 meses com
relacao a base
aux <- subset(teste_individual,
  !(0 < teste_individual$mes-teste_individual$mes[i] &
  teste_individual$mes-teste_individual$mes[i] < 3))

# Atualiza os registros do individuo
teste_individual <- aux

# Atualiza contador para voltar e pegar o proximo registro do mesmo
individuo
i <- i+1

# Quando percorrer todos os registros (do individuo) remanescentes apos
cada etapa da limpeza, sai do repeat
if (i >= nrow(aux)) break
  }

  # Apos percorrer todos os registros do individuo e executar a limpeza,
agrega a base que sera a final
  teste_limpo <- rbind(teste_limpo, teste_individual)

}



*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716

Em 29 de julho de 2016 10:20, Éder Comunello <comunello.e...@gmail.com>
escreveu:

> Paulo, bom dia!
>
> # Uma alternativa é identificar o trimestre de cada observação...
> dat <- data.frame(id=rep(1:4, 6:3), ano=2016,
> mes=c(1,2,3,5,6,10,3,7,8,11,12,2,5,9,12,1,3,4))
> dat$tri <- ceiling(dat$mes/4)+1
>
> # E preservar somente a mais antiga dentro de cada trimestre...
> del <- which(duplicated(dat[,c(1,2,4)]))
> dat[-del,] # dados que permanecem
> dat[del,]  # dados retirados
>
>
> 
> Éder Comunello
> Researcher at Brazilian Agricultural Research Corporation (Embrapa)
> DSc in Agricultural Systems Engineering (USP/Esalq)
> MSc in Environ. Sciences (UEM), Agronomist (UEM)
> ---
> Embrapa Agropecuária Oeste, Dourados, MS, Brazil ||
> 
> GEO, -22.2752, -54.8182, 408m
> UTC-04:00 / DST: UTC-03:00
>
>
>
>
> Em 27 de julho de 2016 09:07, Paulo Dick via R-br <
> r-br@listas.c3sl.ufpr.br> escreveu:
>
>> Companheiros, bom dia.
>>
>> Gostaria que me ajudassem na solução do seguinte problema:
>>
>> Tenho uma base que possui mais de um registro por indivíduo, que preciso
>> fazer uma limpeza a partir das variáveis mês e ano. Preciso retirar apenas
>> os registros que possuem intervalo de tempo menor que 3 meses entre eles,
>> priorizando os registros mais antigos. Ou seja, se tenho 4 registros para
>> um mesmo indivíduo, nos meses 1, 3, 5 e 6 (mesmo ano), fico com as linhas
>> dos meses 1 e 5, e excluo a linha dos meses 3 e 6.
>>
>> Segue sintaxe para gerar fragmento extraído desta base:
>> structure(list(identificador = structure(c(1L, 1L, 2L, 2L, 3L,
>> 3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 8L, 9L, 9L, 10L,
>> 10L), .Label = c("1", "2", "3", "4", "5", "6", "7", "8", "9",
>> "10"), class = "factor"), ano = c(2016L, 2016L, 2016L, 2016L,
>> 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L,
>> 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L), mes = c(5L,
>> 6L, 2L, 7L, 3L, 7L, 2L, 6L, 2L, 5L, 5L, 6L, 6L, 7L, 1L,

[R-br] Exclusão de casos por critério temporal

2016-07-27 Por tôpico Paulo Dick via R-br
Companheiros, bom dia.

Gostaria que me ajudassem na solução do seguinte problema:

Tenho uma base que possui mais de um registro por indivíduo, que preciso
fazer uma limpeza a partir das variáveis mês e ano. Preciso retirar apenas
os registros que possuem intervalo de tempo menor que 3 meses entre eles,
priorizando os registros mais antigos. Ou seja, se tenho 4 registros para
um mesmo indivíduo, nos meses 1, 3, 5 e 6 (mesmo ano), fico com as linhas
dos meses 1 e 5, e excluo a linha dos meses 3 e 6.

Segue sintaxe para gerar fragmento extraído desta base:
structure(list(identificador = structure(c(1L, 1L, 2L, 2L, 3L,
3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 8L, 9L, 9L, 10L,
10L), .Label = c("1", "2", "3", "4", "5", "6", "7", "8", "9",
"10"), class = "factor"), ano = c(2016L, 2016L, 2016L, 2016L,
2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L,
2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L, 2016L), mes = c(5L,
6L, 2L, 7L, 3L, 7L, 2L, 6L, 2L, 5L, 5L, 6L, 6L, 7L, 1L, 3L, 6L,
3L, 6L, 2L, 7L)), .Names = c("identificador", "ano", "mes"), row.names =
c(NA,
21L), class = "data.frame")

Agradeço pela ajuda.

Abraços

*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716
___
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] Ponderação de uma variável de amostra - Censo demográfico

2016-07-20 Por tôpico Paulo Dick via R-br
Marcelo,
Tome cuidado com o tipo que o R está entendendo sua variável. Por exemplo,
se ela é binária com códigos 1 e 2, mas esta lida como numérica, isso afeta
suas estimativas e pode ser a causa do total que você obteve. A função
as.factor() ajuda.

Em quarta-feira, 20 de julho de 2016, Leonardo Fontenelle via R-br <
r-br@listas.c3sl.ufpr.br> escreveu:

> O pacote "survey" lhe permite incorporar a ponderação amostral, inclusive
> com intervalos de confiança corretos. Se você só estiver interessado em
> estimativas pontuais de médicas, existe a função weighted.mean() do pacote
> padrão "stats".
>
> Leonardo Ferreira Fontenelle 
>
>
> Em Qua 20 jul. 2016, às 08:59, Marcelo Santana Camacho via R-br escreveu:
>
> Obrigado pela resposta Rodrigo,
>
> Cheguei a fazer isso, mas quando somei tudo para conferir se batia com a
> população em 2010 deu 325 milhões, enquanto que a população era de 190
> milhões. No entanto, não havia usado o xtabs(), vou tentar aqui.
>
> O post é muito bom e tentei segui-lo, mas não tenho muito conhecimento
> estatístico e fiquei voando nos conceitos de delineamento amostral.
>
> Mais uma vez muito obrigado.
>
> Em 20 de julho de 2016 07:16, Rodrigo Coster  > escreveu:
>
> Se teu objetivo é só a estimativa pontual, basta somar a variável V0010
> para cada categoria e cidade (um xtabs() deve dar conta disso e exibir de
> maneira prática). Fiz uma postagem de como analisar os dados da amostra do
> censo 2010 usando o pacote survey(), se quiser dar uma lida segue o link:
> http://www.dadosaleatorios.com.br/2014/06/trabalhando-com-amostras-complexas-no-r.html
>
> 2016-07-19 23:17 GMT-03:00 Marcelo Santana Camacho via R-br <
> r-br@listas.c3sl.ufpr.br
> >:
>
> Boa noite,
>
> alguém poderia me explicar como posso "expandir" uma variável específica à
> partir do censo demográfico de 2010?
>
> Estou tentando extrair a variável v4671(codigo da atividade), que é um
> variável categórica, portanto, a análise seria feita sobre a frequência
> dessa variável para cada município.
>
> Já conseguí extrair um arquivo nesse formato: municipio,
> tipo_da_atividade, frequência_da_atividade, agora precisaria expandir, ao
> que parece, multiplicando por uma variável peso.
>
> Alguém saberia me ajudar?
>
>
> --
>
>
> *__Marcelo Santana Camacho*
>
>
> ___
> 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.
>
>
>
>
>
>
> --
>
>
> *__Marcelo Santana CamachoEngenharia
> Elétrica - UFPA*
> *___*
> 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.
>
>
>


-- 

*Paulo Dick*
Estatístico / Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716
___
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] Dúvidas - Scott-Knott

2016-06-28 Por tôpico Paulo Dick via R-br
Isso que a Daniela falou.

A função aqui "funcionou" assim: sk <- SK(x = as.factor(A$M), y = A$R,
model = 'y ~ x', which = 'x')

Digo "funcionou" porque desconheço esse método, não sei se a saída faz
sentido.


*Paulo Dick*
Estatístico
Mestre em Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716

Em 28 de junho de 2016 10:48, Daniela Petruzalek <
daniela.petruza...@gmail.com> escreveu:

> O modelo está reclamando que não existe uma variável categorica no seu
> data.frame. pelo o que me parece esta seria a M, correto?
>
> neste caso você pode converter A$M usando a rotina factor ou as.factor:
>
> A$M <- as.factor(A$M)
>
> Att.,
>
> Dani
>
> Em ter, 28 de jun de 2016 às 10:44, Pedro Campelo via R-br <
> r-br@listas.c3sl.ufpr.br> escreveu:
>
>> Paulo, segue o código.
>>
>> Os dados estão no data.frame anterior
>>
>>
>> #* Abrir pacote estatístico*
>> *require(agricolae)*
>> *require(ScottKnott)*
>> *require("ggplot2")*
>> *require("grid")*
>> *require("plyr")*
>> *require(reshape)*
>> *#Ler Dados*
>> *setwd("C:/Users/Pedro Campelo/Desktop")*
>> *A <- read.csv("C:/Users/Pedro Campelo/Desktop/A.csv", sep=";")*
>>
>> *data.frame(A)*
>>
>> *#ANOVA One Way*
>> *av<-aov(R ~ M, data.frame(A))*
>> *summary(av)*
>>
>> *#Plotar boxplot*
>> *par(font.axis=2)*
>> *boxplot(R~M,data.frame(A), xlab=expression(bold("Material")),
>> ylab=expression(bold("Value(%)")), col="lightgray")*
>>
>> *#Teste de Duncan*
>> *comparison <- duncan.test(av, 'M')*
>> *duncan.test(av, 'M', alpha = 0.05, console = TRUE)*
>>
>> *#Teste de Scott Knott*
>> *sk <- SK(x=av, y=A$R,  model='y~x', which='x', dispersion='se')*
>>
>> *summary(sk)*
>>
>>
>> **
>>
>> *Pedro Henrique Campelo Felix*
>> *Bachelor of Food Engineering (UNI-BH)*
>> *Msc. Chemical Engineering (UFMG)*
>> *PhD Student of Food Science (UFLA)*
>>
>> *+55 (31) 97560-1545 <%2B55%20%2831%29%2097560-1545> (TIM)*
>> *"**Nós somos aquilo que fazemos repetidamente. Excelência, então, não é
>> um modo de agir, mas um hábito." Aristóteles*
>>
>> Em 28 de junho de 2016 10:40, Paulo Dick 
>> escreveu:
>>
>>> Pedro,
>>> Forneça um código mais reproduzível para podermos auxiliar, incluindo
>>> libraries
>>>
>>>
>>> *Paulo Dick*
>>> Estatístico
>>> Mestre em Epidemiologia em Saúde Pública
>>> Tel.: (55 21) 99591-2716
>>>
>>> 2016-06-28 10:17 GMT-03:00 Pedro Campelo via R-br <
>>> r-br@listas.c3sl.ufpr.br>:
>>>
 Pessoal,

 Preciso de uma ajuda na execução desse script abaixo:


 *#Data.Frame*

 *> data.frame(A)*
 *   M R*
 *1  1 0.150*
 *2  1 0.117*
 *3  1 0.125*
 *4  2 0.312*
 *5  2 0.288*
 *6  2 0.262*
 *7  3 0.318*
 *8  3 0.315*
 *9  3 0.299*
 *10 4 0.395*
 *11 4 0.312*
 *12 4 0.365*

 *#ANOVA One Way*
 *av<-aov(R ~ M, data.frame(A))*
 *summary(av)*

 *#Teste de Scott Knott*
 *sk <- SK(x=av, y=A$R,  model='y~x', which='x', dispersion='se')*

 *summary(sk)*

 Quando vou executar a rotina, aparece esta mensagem:

 *> sk <- SK(x=av, y=A$R,  model='y~x', which='x', dispersion='se')*
 *Error in SK.aov(x = av, y = A$R, model = "y~x", which = "x",
 dispersion = "se") : *
 *  No factors in the fitted model!*
 *In addition: Warning message:*
 *In replications(paste("~", xx), data = mf) : non-factors ignored: M*


 Como poderia resolver isto?

 Obrigado

 **

 *Pedro Henrique Campelo Felix*
 *Bachelor of Food Engineering (UNI-BH)*
 *Msc. Chemical Engineering (UFMG)*
 *PhD Student of Food Science (UFLA)*

 *+55 (31) 97560-1545 <%2B55%20%2831%29%2097560-1545> (TIM)*
 *"**Nós somos aquilo que fazemos repetidamente. Excelência, então, não
 é um modo de agir, mas um hábito." Aristóteles*

 ___
 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.
>
>
___
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] Dúvidas - Scott-Knott

2016-06-28 Por tôpico Paulo Dick via R-br
Pedro,
Forneça um código mais reproduzível para podermos auxiliar, incluindo
libraries


*Paulo Dick*
Estatístico
Mestre em Epidemiologia em Saúde Pública
Tel.: (55 21) 99591-2716

2016-06-28 10:17 GMT-03:00 Pedro Campelo via R-br 
:

> Pessoal,
>
> Preciso de uma ajuda na execução desse script abaixo:
>
>
> *#Data.Frame*
>
> *> data.frame(A)*
> *   M R*
> *1  1 0.150*
> *2  1 0.117*
> *3  1 0.125*
> *4  2 0.312*
> *5  2 0.288*
> *6  2 0.262*
> *7  3 0.318*
> *8  3 0.315*
> *9  3 0.299*
> *10 4 0.395*
> *11 4 0.312*
> *12 4 0.365*
>
> *#ANOVA One Way*
> *av<-aov(R ~ M, data.frame(A))*
> *summary(av)*
>
> *#Teste de Scott Knott*
> *sk <- SK(x=av, y=A$R,  model='y~x', which='x', dispersion='se')*
>
> *summary(sk)*
>
> Quando vou executar a rotina, aparece esta mensagem:
>
> *> sk <- SK(x=av, y=A$R,  model='y~x', which='x', dispersion='se')*
> *Error in SK.aov(x = av, y = A$R, model = "y~x", which = "x", dispersion =
> "se") : *
> *  No factors in the fitted model!*
> *In addition: Warning message:*
> *In replications(paste("~", xx), data = mf) : non-factors ignored: M*
>
>
> Como poderia resolver isto?
>
> Obrigado
>
> **
>
> *Pedro Henrique Campelo Felix*
> *Bachelor of Food Engineering (UNI-BH)*
> *Msc. Chemical Engineering (UFMG)*
> *PhD Student of Food Science (UFLA)*
>
> *+55 (31) 97560-1545 <%2B55%20%2831%29%2097560-1545> (TIM)*
> *"**Nós somos aquilo que fazemos repetidamente. Excelência, então, não é
> um modo de agir, mas um hábito." Aristóteles*
>
> ___
> 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.