[R-br] Sorteios aleatórios de um cadastro (AAS ou amostra estratificada)

2016-11-02 Por tôpico Andre Oliveira via R-br
Bom dia,
 estou buscando informações de como realizar sorteios aleatórios de um cadastro 
(AAS ou amostra estratificada) com objetivo de inferir para média ou para a 
proporção. Alguma dica de pacote para tal trabalho? 
 obg

 André Oliveira Souza. Graduação em Matemática, mestrado em estatística 
aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito Santo. 
 IFES___
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] Sorteios aleatórios de um cadastro (AAS ou amostra estratificada)

2016-11-02 Por tôpico Marcos Silva via R-br
Não sei se já responderam, mas veja se isso ajuda:

amostra_2 <- dados[sample(row.names(dados), size=7),]

Abs.

Em 2 de novembro de 2016 20:36, Andre Oliveira via R-br <
r-br@listas.c3sl.ufpr.br> escreveu:

> Obrigado pessoal!
> Apenas com intuito didático preciso de subgrupo desta amostra. Veja o CMR.
>
> dados = read.table('http://www.uel.br/pessoal/silvano/Dados/Tilapia.txt',
> dec=',', head=T)
> names(dados)
> head(dados,3)
>
> amostra2=sample(dados$Peso, size=7, replace = F)
> amostra2
>
> Como obter o novo banco de dados com todas a variáveis, mas apenas o
> filtro dos sete amostrados?
>
> Obrigado
>
>
>
>
> Em Quarta-feira, 2 de Novembro de 2016 18:17, Cesar Rabak <
> cesar.ra...@gmail.com> escreveu:
>
>
> André,
>
> Como você passou pouca informação, posso sugerir-lhe o pacote survey a
> função stratsample() para a estratificada, enquanto por óbvio, a AAS você
> pode realizá-la com facilidade seja com sample() (como o Walmes sugeriu) ou
> gerando um conjunto de números aleatórios e pós-processando-os caso a sua
> AAS seja uma AASs (geralmente a mais "aceita" por pessoas não versadas em
> estatística pois como nos ensinou o Bolfarine há uma intuição que « "não se
> ganha mais informação es uma mesma unidade aparece mais de uma vez na
> amostra" ».
>
> HTH
> --
> Cesar Rabak
>
>
> 2016-11-02 17:23 GMT-02:00 Andre Oliveira via R-br <
> r-br@listas.c3sl.ufpr.br>:
>
> Bom dia,
> estou buscando informações de como realizar sorteios aleatórios de um
> cadastro (AAS ou amostra estratificada) com objetivo de inferir para média
> ou para a proporção. Alguma dica de pacote para tal trabalho?
> obg
>
>
>
> André Oliveira Souza. Graduação em Matemática, mestrado em estatística
> aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito
> Santo.  IFES
>
> __ _
> 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.
>



-- 
Marcos F. Silva
http://sites.google.com/site/marcosfs2006
___
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] Sorteios aleatórios de um cadastro (AAS ou amostra estratificada)

2016-11-02 Por tôpico Andre Oliveira via R-br
Obrigado pessoal!Apenas com intuito didático preciso de subgrupo desta amostra. 
Veja o CMR.

dados = read.table('http://www.uel.br/pessoal/silvano/Dados/Tilapia.txt', 
dec=',', head=T)
names(dados)
head(dados,3)

amostra2=sample(dados$Peso, size=7, replace = F)
amostra2
Como obter o novo banco de dados com todas a variáveis, mas apenas o filtro dos 
sete amostrados?
Obrigado
 
 

Em Quarta-feira, 2 de Novembro de 2016 18:17, Cesar Rabak 
 escreveu:
 

 André, 
Como você passou pouca informação, posso sugerir-lhe o pacote survey a função 
stratsample() para a estratificada, enquanto por óbvio, a AAS você pode 
realizá-la com facilidade seja com sample() (como o Walmes sugeriu) ou gerando 
um conjunto de números aleatórios e pós-processando-os caso a sua AAS seja uma 
AASs (geralmente a mais "aceita" por pessoas não versadas em estatística pois 
como nos ensinou o Bolfarine há uma intuição que « "não se ganha mais 
informação es uma mesma unidade aparece mais de uma vez na amostra" ».
HTH--Cesar Rabak

2016-11-02 17:23 GMT-02:00 Andre Oliveira via R-br :

Bom dia,
 estou buscando informações de como realizar sorteios aleatórios de um cadastro 
(AAS ou amostra estratificada) com objetivo de inferir para média ou para a 
proporção. Alguma dica de pacote para tal trabalho? 
 obg

  André Oliveira Souza. Graduação em Matemática, mestrado em estatística 
aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito Santo. 
 IFES
__ _
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] Sorteios aleatórios de um cadastro (AAS ou amostra estratificada)

2016-11-02 Por tôpico Cesar Rabak via R-br
André,

Como você passou pouca informação, posso sugerir-lhe o pacote survey a
função stratsample() para a estratificada, enquanto por óbvio, a AAS você
pode realizá-la com facilidade seja com sample() (como o Walmes sugeriu) ou
gerando um conjunto de números aleatórios e pós-processando-os caso a sua
AAS seja uma AASs (geralmente a mais "aceita" por pessoas não versadas em
estatística pois como nos ensinou o Bolfarine há uma intuição que « "não se
ganha mais informação es uma mesma unidade aparece mais de uma vez na
amostra" ».

HTH
--
Cesar Rabak


2016-11-02 17:23 GMT-02:00 Andre Oliveira via R-br :

> Bom dia,
> estou buscando informações de como realizar sorteios aleatórios de um
> cadastro (AAS ou amostra estratificada) com objetivo de inferir para média
> ou para a proporção. Alguma dica de pacote para tal trabalho?
> obg
>
>
>
> André Oliveira Souza. Graduação em Matemática, mestrado em estatística
> aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito
> Santo.  IFES
>
> ___
> 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] RES: mutate vs within

2016-11-02 Por tôpico Cesar Rabak via R-br
Leonard,

Seu problema me parece que seria muito bem atendido ("código limpo",
"claro", etc.) pela função recode do pacote car.

Como parece-me que você tem bastante coisa para converter talvez a curva de
aprendizado dessa nova função possa ser um investimento frente ao possível
resultado.

HTH
--
Cesar Rabak


2016-11-01 22:05 GMT-02:00 Leonard Mendonça de Assis via R-br <
r-br@listas.c3sl.ufpr.br>:

> O within é como se fosse o mutate, funciona como o with, só que retorna o
> data.frame.
>
>
>
> O problema é que eu tenho uma variável múltipla resposta Area (1 a 3)  que
> foi planejada de maneira errada, eu vou analisar ela como item de TRI, não
> como tabela de frequência (o que os malucos coletaram).
>
> O problema é que o “within” coloca as variáveis no data.frame na ordem que
> ele quer, misturando copm outras. Isso me obriga a fazer outras coisas no
> código.
>
> Já om o mutate, eu tenho que quebrar em etapas extras, pois ele executa na
> ordem que ele quer e o que está me incomodando ´eisso, pois uma das coisas
> que faço é apagar a variável velha.
>
>
>
> Queria uma solução menos gambiarra que a que mostrei
>
>
>
> *De:* Manoel Galdino [mailto:mcz@gmail.com]
> *Enviada em:* terça-feira, 1 de novembro de 2016 19:14
> *Para:* Leonard Mendonça de Assis ; a lista
> Brasileira oficial de discussão do programa R. 
> *Assunto:* Re: [R-br] mutate vs within
>
>
>
> Não sei o que é o within que você fala, e seu exemplo não é lá minimamente
> reproduzível. Então fica difícil ajudar.
>
> Dito isso, talvez você deveria usar o spread (do pacote tidyr) em área.
> Mas é difícil ajudar mais sem saber o que você quer fazer direito e sem o
> exemplo reproduzível.
>
>
>
> Abraço,
>
>
>
> 2016-11-01 18:18 GMT-02:00 Leonard Mendonça de Assis via R-br <
> r-br@listas.c3sl.ufpr.br>:
>
> Boa tarde a todos
>
>
>
> Surgiu uma dúvida conceitual aqui:
>
>
>
> Eu tenho um data.frame que precisa unir com vários outros, além de fazer
> várias transformações. Estou utilizando a seguinte sequencia para fazer tudo
>
>
>
> bhz.data <-
>
>   read_csv2(
>
> "Belo Horizonte 20161027.csv",
>
> col_types=colunas) %>%
>
>   filter(Filtro == 1 & Filtro.Votar==1) %>%
>
>   select(-Filtro, -Filtro.Votar) %>%
>
>   left_join(label.Sexo,by=c("Sexo"="value")) %>% select(-Sexo) %>%
>
>   left_join(label.Faixa.Idade, by=c("Faixa.Idade"="value")) %>%
> select(-Faixa.Idade) %>%
>
>   left_join(label.Renda, by=c("Renda"="value")) %>% select(-Renda) %>%
>
>   left_join(label.classe, by=c("Renda.Classe"="value")) %>%
> select(-Renda.Classe) %>%
>
>   left_join(label.Escolaridade, by=c("Escolaridade"="value")) %>%
> select(-Escolaridade) %>%
>
>   left_join(label.Etinia, by=c('Etinia'="value")) %>% select(-Etinia) %>%
>
>   left_join(label.Religião, by=c("Religião"="value")) %>%
> select(-Religião) %>%
>
>   left_join(label.Trabalha, by=c("Trabalha"="value")) %>%
> select(-Trabalha) %>%
>
> mutate(Area.1 = ifelse(is.na(Area.1),0,Area.1), Area.2 = ifelse(is.na
> (Area.2),0,Area.2),
>
>  Area.3 = ifelse(is.na(Area.3),0,Area.3)) %>%
>
>   mutate(area.Educação =
>
>ifelse(Area.1 == 1,1,0) + ifelse(Area.2 == 1,1,0) +
> ifelse(Area.3 == 1,1,0),
>
>  area.Habitação =
>
>   ifelse(Area.1 == 2,1,0) + ifelse(Area.2 == 2,1,0) +
> ifelse(Area.3 == 2,1,0),
>
>  area.Limpeza =
>
>ifelse(Area.1 == 3,1,0) + ifelse(Area.2 == 3,1,0) +
> ifelse(Area.3 == 3,1,0),
>
>  area.Obras.Mobilidade =
>
>ifelse(Area.1 == 4,1,0) + ifelse(Area.2 == 4,1,0) +
> ifelse(Area.3 == 4,1,0),
>
>  area.Obras.Pavimentação =
>
>ifelse(Area.1 == 5,1,0) + ifelse(Area.2 == 5,1,0) +
> ifelse(Area.3 == 5,1,0),
>
>  area.Saneamento =
>
>ifelse(Area.1 == 6,1,0) + ifelse(Area.2 == 6,1,0) +
> ifelse(Area.3 == 6,1,0),
>
>  area.Saúde =
>
>ifelse(Area.1 == 7,1,0) + ifelse(Area.2 == 7,1,0) +
> ifelse(Area.3 == 7,1,0),
>
>  area.Transpoorte =
>
>ifelse(Area.1 == 8,1,0) + ifelse(Area.2 == 8,1,0) +
> ifelse(Area.3 == 8,1,0),
>
>  area.Conservação =
>
>ifelse(Area.1 == 9,1,0) + ifelse(Area.2 == 9,1,0) +
> ifelse(Area.3 == 9,1,0),
>
>  area.Acessibilidade =
>
>ifelse(Area.1 == 10,1,0) + ifelse(Area.2 == 10,1,0) +
> ifelse(Area.3 == 10,1,0),
>
>  area.Combate.Mosquito =
>
>ifelse(Area.1 == 11,1,0) + ifelse(Area.2 == 11,1,0) +
> ifelse(Area.3 == 11,1,0),
>
>  area.MeioAmbiente =
>
>ifelse(Area.1 == 12,1,0) + ifelse(Area.2 == 12,1,0) +
> ifelse(Area.3 == 12,1,0),
>
>  area.Social =
>
>ifelse(Area.1 == 13,1,0) + ifelse(Area.2 == 13,1,0) +
> ifelse(Area.3 == 13,1,0),
>
>  area.Esporte.Lazer =
>
>ifelse(Area.1 == 14,1,0) + ifelse(Area.2 == 14,1,0) +
> ifelse(Area.3 == 14,1,0),
>
>  area.Geração.Empregos =
>
>ifelse(Area.1 == 15,1,0) + ifelse(Area.2 == 15,1,0) +
> 

Re: [R-br] Teste de independência dos resíduos

2016-11-02 Por tôpico Cesar Rabak via R-br
Mauricio,

Em adição às indicações do Walmes, pesquise nesta lista outras trédis sobre
esse assunto onde eu comento a precariedade desses testes e necessidade de
você ter mais segurança quanto ao processo que gerou os dados.

HTH

2016-10-27 0:36 GMT-02:00 Maurício Sangiogo via R-br <
r-br@listas.c3sl.ufpr.br>:

> Bom dia listeiros!
>
>
> Estou iniciando no R, e gostaria de pedir ajuda a vocês sobre uma
> dúvida... Como eu faço no R para testar o pressuposto da anova de
> "independência dos resíduos"? Eu li algumas citações ao uso do Durbin-watson
> test para análise de resíduos em regressões, porém não sei se o mesmo se
> encaixaria (ou se ao menos está correto) para análise de experimentos com
> fatores qualitativos (em DBC ou DIC). Também vi algo em plotar um gráfico
> dos resíduos, mas não entendi o como. ..
>
>
> Se alguma boa alma estatística puder me ajudar, muito obrigado, se não
> puderem agradeço igualmente.
>
>
> Att
>
>
> *..*
> *Eng. Agr. Maurício Sangiogo*
> TEL:(55) 96822030
>
>
> ___
> 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] comparação de médias - problema com os pressupostos

2016-11-02 Por tôpico Cesar Rabak via R-br
Maurício,

Toda vez que você tem "comparação de médias" e "pressupostos" é necessário
pensar no objetivo da comparação:


   - Você está usando um teste de médias para testar parametricamente se as
   distribuições podem ser consideradas iguais ou não, ou;
   - você está querendo testar as médias e fazer uso o CLT para que o teste
   tenha robustez estatística?

Se você pensa em usar uma transformação (você citou Box-Cox) então a nova
pergunta é você quer testar as distribuições, e aí os testes teriam que ser
nos parâmetros transformada B-C (que além de uma medida de tendência
central e dispersão ter um parâmetro a mais) e quais os pressupostos para
testes dessa(s) distribuição(ões), ou se você continua interessado somente
nas médias: por que transformar?

HTH
--
Cesar Rabak



2016-10-26 22:59 GMT-02:00 Maurício Lordêlo via R-br <
r-br@listas.c3sl.ufpr.br>:

> Caros,
> Preciso fazer um teste de comparação de médias mas estou tendo problemas
> com os pressupostos. Tentei uma transformação Box Cox mas não consegui
> êxito. Alguma sugestão?
>
> 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)))
> Fenois; Cor
> boxplot(Fenois~Cor,ylab=expression(paste("Fenois","  ","(",mg,"
> ",kg^-1,")")), xlab="cor",names=c("Âmbar", "Âmbar Claro", "Branco", "Extra
> Âmbar Claro"))
> tapply(Fenois, Cor, mean)
> tapply(Fenois, Cor, sd)
> tapply(Fenois, Cor, var)
>
> #Teste de homogeneidade de variâncias
> bartlett.test(Fenois ~ Cor)
> #Gráficos para avaliar a  variável resposta
> qqnorm(Fenois)
> qqline(Fenois)
> hist(Fenois)
> boxplot(Fenois)
>
> #Transformação Box-Cox
> require(MASS)
> boxcox(Fenois~Cor, lambda = seq(-2, 2, 1/10))
> boxcox(Fenois~Cor, lambda = seq(0.5, 1.5, 1/100))
> #Optando por lambda = 0.6
> Fenois2 = ((Fenois^0.6) - 1)/0.6
> par(mfrow=c(1,2))
> boxplot(Fenois~Cor,ylab=expression(paste("Fenois","  ","(",mg,"
> ",kg^-1,")")), xlab="cor",names=c("Âmbar", "Âmbar Claro", "Branco", "Extra
> Âmbar Claro"))
> boxplot(Fenois2~Cor,ylab=expression(paste("Fenois","  ","(",mg,"
> ",kg^-1,")")), xlab="cor",names=c("Âmbar", "Âmbar Claro", "Branco", "Extra
> Âmbar Claro"))
>
> bartlett.test(Fenois2 ~ Cor)
>
>
> ___
> 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] Sorteios aleatórios de um cadastro (AAS ou amostra estratificada)

2016-11-02 Por tôpico Walmes Zeviani via R-br
Sem mais detalhes da sua parte, porque não usar função sample() 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] Sorteios aleatórios de um cadastro (AAS ou amostra estratificada)

2016-11-02 Por tôpico Andre Oliveira via R-br
Bom dia,
 estou buscando informações de como realizar sorteios aleatórios de um cadastro 
(AAS ou amostra estratificada) com objetivo de inferir para média ou para a 
proporção. Alguma dica de pacote para tal trabalho? 
 obg

  André Oliveira Souza. Graduação em Matemática, mestrado em estatística 
aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito Santo. 
 IFES___
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] RES: mutate vs within

2016-11-02 Por tôpico Leonard Mendonça de Assis via R-br
O within é como se fosse o mutate, funciona como o with, só que retorna o 
data.frame.

 

O problema é que eu tenho uma variável múltipla resposta Area (1 a 3)  que foi 
planejada de maneira errada, eu vou analisar ela como item de TRI, não como 
tabela de frequência (o que os malucos coletaram).

O problema é que o “within” coloca as variáveis no data.frame na ordem que ele 
quer, misturando copm outras. Isso me obriga a fazer outras coisas no código.

Já om o mutate, eu tenho que quebrar em etapas extras, pois ele executa na 
ordem que ele quer e o que está me incomodando ´eisso, pois uma das coisas que 
faço é apagar a variável velha.

 

Queria uma solução menos gambiarra que a que mostrei

 

De: Manoel Galdino [mailto:mcz@gmail.com] 
Enviada em: terça-feira, 1 de novembro de 2016 19:14
Para: Leonard Mendonça de Assis ; a lista Brasileira 
oficial de discussão do programa R. 
Assunto: Re: [R-br] mutate vs within

 

Não sei o que é o within que você fala, e seu exemplo não é lá minimamente 
reproduzível. Então fica difícil ajudar.

Dito isso, talvez você deveria usar o spread (do pacote tidyr) em área. Mas é 
difícil ajudar mais sem saber o que você quer fazer direito e sem o exemplo 
reproduzível.

 

Abraço,

 

2016-11-01 18:18 GMT-02:00 Leonard Mendonça de Assis via R-br 
 >:

Boa tarde a todos

 

Surgiu uma dúvida conceitual aqui:

 

Eu tenho um data.frame que precisa unir com vários outros, além de fazer várias 
transformações. Estou utilizando a seguinte sequencia para fazer tudo

 

bhz.data <-

  read_csv2(

"Belo Horizonte 20161027.csv",

col_types=colunas) %>%

  filter(Filtro == 1 & Filtro.Votar==1) %>%

  select(-Filtro, -Filtro.Votar) %>%

  left_join(label.Sexo,by=c("Sexo"="value")) %>% select(-Sexo) %>%

  left_join(label.Faixa.Idade, by=c("Faixa.Idade"="value")) %>% 
select(-Faixa.Idade) %>%

  left_join(label.Renda, by=c("Renda"="value")) %>% select(-Renda) %>%

  left_join(label.classe, by=c("Renda.Classe"="value")) %>% 
select(-Renda.Classe) %>%

  left_join(label.Escolaridade, by=c("Escolaridade"="value")) %>% 
select(-Escolaridade) %>%

  left_join(label.Etinia, by=c('Etinia'="value")) %>% select(-Etinia) %>%

  left_join(label.Religião, by=c("Religião"="value")) %>% select(-Religião) %>%

  left_join(label.Trabalha, by=c("Trabalha"="value")) %>% select(-Trabalha) %>%

mutate(Area.1 = ifelse(is.na  (Area.1),0,Area.1), Area.2 = 
ifelse(is.na  (Area.2),0,Area.2),

 Area.3 = ifelse(is.na  (Area.3),0,Area.3)) %>%

  mutate(area.Educação =

   ifelse(Area.1 == 1,1,0) + ifelse(Area.2 == 1,1,0) + ifelse(Area.3 == 
1,1,0),

 area.Habitação =

  ifelse(Area.1 == 2,1,0) + ifelse(Area.2 == 2,1,0) + ifelse(Area.3 == 
2,1,0),

 area.Limpeza =

   ifelse(Area.1 == 3,1,0) + ifelse(Area.2 == 3,1,0) + ifelse(Area.3 == 
3,1,0),

 area.Obras.Mobilidade =

   ifelse(Area.1 == 4,1,0) + ifelse(Area.2 == 4,1,0) + ifelse(Area.3 == 
4,1,0),

 area.Obras.Pavimentação =

   ifelse(Area.1 == 5,1,0) + ifelse(Area.2 == 5,1,0) + ifelse(Area.3 == 
5,1,0),

 area.Saneamento =

   ifelse(Area.1 == 6,1,0) + ifelse(Area.2 == 6,1,0) + ifelse(Area.3 == 
6,1,0),

 area.Saúde =

   ifelse(Area.1 == 7,1,0) + ifelse(Area.2 == 7,1,0) + ifelse(Area.3 == 
7,1,0),

 area.Transpoorte =

   ifelse(Area.1 == 8,1,0) + ifelse(Area.2 == 8,1,0) + ifelse(Area.3 == 
8,1,0),

 area.Conservação =

   ifelse(Area.1 == 9,1,0) + ifelse(Area.2 == 9,1,0) + ifelse(Area.3 == 
9,1,0),

 area.Acessibilidade =

   ifelse(Area.1 == 10,1,0) + ifelse(Area.2 == 10,1,0) + ifelse(Area.3 
== 10,1,0),

 area.Combate.Mosquito =

   ifelse(Area.1 == 11,1,0) + ifelse(Area.2 == 11,1,0) + ifelse(Area.3 
== 11,1,0),

 area.MeioAmbiente =

   ifelse(Area.1 == 12,1,0) + ifelse(Area.2 == 12,1,0) + ifelse(Area.3 
== 12,1,0),

 area.Social =

   ifelse(Area.1 == 13,1,0) + ifelse(Area.2 == 13,1,0) + ifelse(Area.3 
== 13,1,0),

 area.Esporte.Lazer =

   ifelse(Area.1 == 14,1,0) + ifelse(Area.2 == 14,1,0) + ifelse(Area.3 
== 14,1,0),

 area.Geração.Empregos =

   ifelse(Area.1 == 15,1,0) + ifelse(Area.2 == 15,1,0) + ifelse(Area.3 
== 15,1,0)) %>%

  select(-Area.1, -Area.2, -Area.3)

 

A questão é a seguinte:

No caso da variável área, que é recodificada de 3 para 15 variáveis, quando eu 
substituo esta sequencia enorme de mutate por um within, as variáveis ficam em 
uma ordem diferente da que eu preciso. A questão é: como deixar o código mais 
limpo nesta situação, visto que esta alternativa funciona, mas parece ser meio 
gambiarra?

 

Leonard


___
R-br mailing list
R-br@listas.c3sl.ufpr.br 

Re: [R-br] mutate vs within

2016-11-02 Por tôpico Manoel Galdino via R-br
Não sei o que é o within que você fala, e seu exemplo não é lá minimamente
reproduzível. Então fica difícil ajudar.
Dito isso, talvez você deveria usar o spread (do pacote tidyr) em área. Mas
é difícil ajudar mais sem saber o que você quer fazer direito e sem o
exemplo reproduzível.

Abraço,

2016-11-01 18:18 GMT-02:00 Leonard Mendonça de Assis via R-br <
r-br@listas.c3sl.ufpr.br>:

> Boa tarde a todos
>
>
>
> Surgiu uma dúvida conceitual aqui:
>
>
>
> Eu tenho um data.frame que precisa unir com vários outros, além de fazer
> várias transformações. Estou utilizando a seguinte sequencia para fazer tudo
>
>
>
> bhz.data <-
>
>   read_csv2(
>
> "Belo Horizonte 20161027.csv",
>
> col_types=colunas) %>%
>
>   filter(Filtro == 1 & Filtro.Votar==1) %>%
>
>   select(-Filtro, -Filtro.Votar) %>%
>
>   left_join(label.Sexo,by=c("Sexo"="value")) %>% select(-Sexo) %>%
>
>   left_join(label.Faixa.Idade, by=c("Faixa.Idade"="value")) %>%
> select(-Faixa.Idade) %>%
>
>   left_join(label.Renda, by=c("Renda"="value")) %>% select(-Renda) %>%
>
>   left_join(label.classe, by=c("Renda.Classe"="value")) %>%
> select(-Renda.Classe) %>%
>
>   left_join(label.Escolaridade, by=c("Escolaridade"="value")) %>%
> select(-Escolaridade) %>%
>
>   left_join(label.Etinia, by=c('Etinia'="value")) %>% select(-Etinia) %>%
>
>   left_join(label.Religião, by=c("Religião"="value")) %>%
> select(-Religião) %>%
>
>   left_join(label.Trabalha, by=c("Trabalha"="value")) %>%
> select(-Trabalha) %>%
>
> mutate(Area.1 = ifelse(is.na(Area.1),0,Area.1), Area.2 = ifelse(is.na
> (Area.2),0,Area.2),
>
>  Area.3 = ifelse(is.na(Area.3),0,Area.3)) %>%
>
>   mutate(area.Educação =
>
>ifelse(Area.1 == 1,1,0) + ifelse(Area.2 == 1,1,0) +
> ifelse(Area.3 == 1,1,0),
>
>  area.Habitação =
>
>   ifelse(Area.1 == 2,1,0) + ifelse(Area.2 == 2,1,0) +
> ifelse(Area.3 == 2,1,0),
>
>  area.Limpeza =
>
>ifelse(Area.1 == 3,1,0) + ifelse(Area.2 == 3,1,0) +
> ifelse(Area.3 == 3,1,0),
>
>  area.Obras.Mobilidade =
>
>ifelse(Area.1 == 4,1,0) + ifelse(Area.2 == 4,1,0) +
> ifelse(Area.3 == 4,1,0),
>
>  area.Obras.Pavimentação =
>
>ifelse(Area.1 == 5,1,0) + ifelse(Area.2 == 5,1,0) +
> ifelse(Area.3 == 5,1,0),
>
>  area.Saneamento =
>
>ifelse(Area.1 == 6,1,0) + ifelse(Area.2 == 6,1,0) +
> ifelse(Area.3 == 6,1,0),
>
>  area.Saúde =
>
>ifelse(Area.1 == 7,1,0) + ifelse(Area.2 == 7,1,0) +
> ifelse(Area.3 == 7,1,0),
>
>  area.Transpoorte =
>
>ifelse(Area.1 == 8,1,0) + ifelse(Area.2 == 8,1,0) +
> ifelse(Area.3 == 8,1,0),
>
>  area.Conservação =
>
>ifelse(Area.1 == 9,1,0) + ifelse(Area.2 == 9,1,0) +
> ifelse(Area.3 == 9,1,0),
>
>  area.Acessibilidade =
>
>ifelse(Area.1 == 10,1,0) + ifelse(Area.2 == 10,1,0) +
> ifelse(Area.3 == 10,1,0),
>
>  area.Combate.Mosquito =
>
>ifelse(Area.1 == 11,1,0) + ifelse(Area.2 == 11,1,0) +
> ifelse(Area.3 == 11,1,0),
>
>  area.MeioAmbiente =
>
>ifelse(Area.1 == 12,1,0) + ifelse(Area.2 == 12,1,0) +
> ifelse(Area.3 == 12,1,0),
>
>  area.Social =
>
>ifelse(Area.1 == 13,1,0) + ifelse(Area.2 == 13,1,0) +
> ifelse(Area.3 == 13,1,0),
>
>  area.Esporte.Lazer =
>
>ifelse(Area.1 == 14,1,0) + ifelse(Area.2 == 14,1,0) +
> ifelse(Area.3 == 14,1,0),
>
>  area.Geração.Empregos =
>
>ifelse(Area.1 == 15,1,0) + ifelse(Area.2 == 15,1,0) +
> ifelse(Area.3 == 15,1,0)) %>%
>
>   select(-Area.1, -Area.2, -Area.3)
>
>
>
> A questão é a seguinte:
>
> No caso da variável área, que é recodificada de 3 para 15 variáveis,
> quando eu substituo esta sequencia enorme de mutate por um within, as
> variáveis ficam em uma ordem diferente da que eu preciso. A questão é: como
> deixar o código mais limpo nesta situação, visto que esta alternativa
> funciona, mas parece ser meio gambiarra?
>
>
>
> Leonard
>
> ___
> 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.
>



-- 
Manoel Galdino
https://sites.google.com/site/galdinomcz/
___
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.