trabalhando na area de trabalho do R

Caros(as) Help-me com o este script. A idéia é trabalhar com 2 data.frames e atribuir codigos para variaveis semelhantes em ambos. ### Segue o código dados <- data.frame(parcela = rep(1:5, each=3), repeticao = rep(1:3, 5)) dados2 <- data.frame(parcela = rep(1:7, each=3), repeticao = rep(1:3, 7)) dados dados2 dados2$mesma <- 0 if(dados2$parcela == dados$parcela) { dados2$mesma <- 1 } ### Warning messages: 1: In dados2$parcela == dados$parcela : longer object length is not a multiple of shorter object length 2: In if (dados2$parcela == dados$parcela) { : a condi��o tem comprimento > 1 e somente o primeiro elemento ser� usado### ### A questão é que este loop completa todos valores de "dados2$mesma com o número 1 e ### a idéia é preencher apenas as parcelas em comum... Entendi que não é possível trabalhar com objetos com dimensões diferentes []'s Samuel ==================================== Samuel P. C. Carvalho Mestre em Ciências Florestais [UFLA] Doutorando em Recursos Florestais [ESALQ/USP] =============================================

Você pode tentar assim: dados2$mesma <- dados2$parcela %in% dados$parcela * 1 2011/4/7 Samuel Carvalho <samukajm@yahoo.com.br>:
Caros(as) Help-me com o este script. A idéia é trabalhar com 2 data.frames e atribuir codigos para variaveis semelhantes em ambos. ### Segue o código dados <- data.frame(parcela = rep(1:5, each=3), repeticao = rep(1:3, 5)) dados2 <- data.frame(parcela = rep(1:7, each=3), repeticao = rep(1:3, 7)) dados dados2 dados2$mesma <- 0 if(dados2$parcela == dados$parcela) { dados2$mesma <- 1 } ###
Warning messages: 1: In dados2$parcela == dados$parcela : longer object length is not a multiple of shorter object length 2: In if (dados2$parcela == dados$parcela) { : a condi��o tem comprimento > 1 e somente o primeiro elemento ser� usado
### ### A questão é que este loop completa todos valores de "dados2$mesma com o número 1 e ### a idéia é preencher apenas as parcelas em comum...
Entendi que não é possível trabalhar com objetos com dimensões diferentes []'s Samuel ==================================== Samuel P. C. Carvalho Mestre em Ciências Florestais [UFLA] Doutorando em Recursos Florestais [ESALQ/USP] =============================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O

Alem da diferença de tamanhos (warning 1), tu não pode usar == para vetores num if, e sim só para valores (warning 2). 2011/4/7 Samuel Carvalho <samukajm@yahoo.com.br>
Caros(as) Help-me com o este script. A idéia é trabalhar com 2 data.frames e atribuir codigos para variaveis semelhantes em ambos. ### Segue o código dados <- data.frame(parcela = rep(1:5, each=3), repeticao = rep(1:3, 5)) dados2 <- data.frame(parcela = rep(1:7, each=3), repeticao = rep(1:3, 7)) dados dados2 dados2$mesma <- 0 if(dados2$parcela == dados$parcela) { dados2$mesma <- 1 } ###
Warning messages: 1: In dados2$parcela == dados$parcela : longer object length is not a multiple of shorter object length 2: In if (dados2$parcela == dados$parcela) { : a condi��o tem comprimento > 1 e somente o primeiro elemento ser� usado
### ### A questão é que este loop completa todos valores de "dados2$mesma com o número 1 e ### a idéia é preencher apenas as parcelas em comum...
Entendi que não é possível trabalhar com objetos com dimensões diferentes []'s Samuel *====================================* *Samuel P. C. Carvalho *Mestre em Ciências Florestais [UFLA] Doutorando em Recursos Florestais [ESALQ/USP] =============================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

Samuel, Eu não entendi. Coloque um exemplo do resultado que você espera, descreva verbalmente o procedimento. Fiz um tiro no escuro mas aqui eu esperava que os data.frames fossem de mesma dimensão, mas não, então não sei dados <- data.frame(parcela = rep(1:5, each=3), repeticao = rep(1:3, 5)) dados2 <- data.frame(parcela = rep(1:7, each=3), repeticao = rep(1:3, 7)) dados dados2 dados2$mesma <- sapply(1:nrow(dados2), function(i){ ifelse(dados$parcela[i]==dados2$parcela[i], 1, 0) }) cbind(dados$parcela, dados2$parcela, dados2$mesma) À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ========================================================================== Em 7 de abril de 2011 22:06, Rodrigo Coster <rcoster@gmail.com> escreveu:
Alem da diferença de tamanhos (warning 1), tu não pode usar == para vetores num if, e sim só para valores (warning 2).
2011/4/7 Samuel Carvalho <samukajm@yahoo.com.br>
Caros(as) Help-me com o este script. A idéia é trabalhar com 2 data.frames e atribuir codigos para variaveis semelhantes em ambos. ### Segue o código dados <- data.frame(parcela = rep(1:5, each=3), repeticao = rep(1:3, 5)) dados2 <- data.frame(parcela = rep(1:7, each=3), repeticao = rep(1:3, 7)) dados dados2 dados2$mesma <- 0 if(dados2$parcela == dados$parcela) { dados2$mesma <- 1 } ###
Warning messages: 1: In dados2$parcela == dados$parcela : longer object length is not a multiple of shorter object length 2: In if (dados2$parcela == dados$parcela) { : a condi��o tem comprimento > 1 e somente o primeiro elemento ser� usado
### ### A questão é que este loop completa todos valores de "dados2$mesma com o número 1 e ### a idéia é preencher apenas as parcelas em comum...
Entendi que não é possível trabalhar com objetos com dimensões diferentes []'s Samuel *====================================* *Samuel P. C. Carvalho *Mestre em Ciências Florestais [UFLA] Doutorando em Recursos Florestais [ESALQ/USP] =============================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
participantes (4)
-
Henrique Dallazuanna
-
Rodrigo Coster
-
Samuel Carvalho
-
Walmes Zeviani