
Muito obrigado. Alisson Lucrécio da Costa ________________________________ From: Benilton Carvalho <beniltoncarvalho@gmail.com> To: Alisson Lucrecio <alissonluc@yahoo.com.br> Cc: r-br <r-br@listas.c3sl.ufpr.br> Sent: Wednesday, May 22, 2013 2:35 PM Subject: Re: [R-br] Duvida plot base1 jura q vc tentou o codigo q eu passei? para mim, o merge() funciona perfeitamente... mas como vc nao disse qual e' o problema. e se tivesse tentando (big assumption here), teria notado a falha na minha segunda sugestao... que deveria ser: i = match(dfm$Solo, var$wrong) dfm$col = var$col[i] b Em 22 de maio de 2013 13:57, Alisson Lucrecio <alissonluc@yahoo.com.br> escreveu:
Caro Benilton,
Segue um exemplo mas próximo do real.
library(RColorBrewer)
dfm <- data.frame(Solo=rep(c("LVA", "LVD"), 3), col=rep("#000000", 6))
mypalette <- brewer.pal(3,"Greys")
var <- data.frame(wrong=unique(dfm$Sol), right=mypalette[2:3])
for (i in seq(along = dimnames(var)[[1L]])){ dfm[,2][which(dfm[,1] == var[[i,1]])] <- var[[i,2]] }
Obrigado.
Alisson Lucrécio da Costa ________________________________ From: Benilton Carvalho <beniltoncarvalho@gmail.com> To: Alisson Lucrecio <alissonluc@yahoo.com.br> Cc: r-br <r-br@listas.c3sl.ufpr.br> Sent: Wednesday, May 22, 2013 1:27 PM
Subject: Re: [R-br] Duvida plot base1
novamente.... exemplo reproduzivel.
bom trabalho
Em 22 de maio de 2013 12:49, Alisson Lucrecio <alissonluc@yahoo.com.br> escreveu:
O exemplo mostrei coincidiu de ser 2 e 2, mas o meu problema é com um numero diferente (ex. dfm com 36 lina e na var ex, 4). Assim teria que ficar replicando os meus data.frames (var) para coincidir. Se consegui resolver por outra forma ficaria muito mais fácil.
Obrigado.
Alisson Lucrécio da Costa ________________________________ From: Benilton Carvalho <beniltoncarvalho@gmail.com> To: Alisson Lucrecio <alissonluc@yahoo.com.br> Cc: r-br <r-br@listas.c3sl.ufpr.br> Sent: Wednesday, May 22, 2013 12:36 PM
Subject: Re: [R-br] Duvida plot base1
Alisson,
o que exatamente vc quer fazer e' substituir a coluna 'col' de dfm pela coluna 'right' de var? E' isso?
pq nao usar merge?
saida = merge(dfm, var, by.x='Solo', by.y='wrong') saida[[2]] = NULL names(saida) = names(dfm)
ou apenas o match?
i = match(dfm$Solo, var$wrong) dfm$col = var$wrong[i]
?
b
Em 22 de maio de 2013 10:44, Alisson Lucrecio <alissonluc@yahoo.com.br> escreveu:
Caro Benilton,
Segue um exemplo reproduzível.
library(RColorBrewer)
dfm <- data.frame(Solo=c("LVA", "LVD"), col=rep("#000000", 2))
mypalette <- brewer.pal(3,"Greys")
var <- data.frame(wrong=unique(dfm$Sol), right=mypalette[2:3])
for (i in seq(along = dimnames(var)[[1L]])){ dfm[,2][which(dfm[,1] == var[[i,1]])] <- var[[i,2]] }
Obrigado
Alisson Lucrécio da Costa ________________________________ From: Benilton Carvalho <beniltoncarvalho@gmail.com> To: r-br <r-br@listas.c3sl.ufpr.br>; Alisson Lucrecio <alissonluc@yahoo.com.br> Sent: Wednesday, May 22, 2013 10:26 AM Subject: Re: [R-br] Duvida plot base1
dificil, muito dificil, ser preciso na ausencia de um exemplo reproduzivel...
mas, acho que o problema resume-se 'a falta de aspas em torno do valor...
blah <- '#D9D9D9'
b
Em 22 de maio de 2013 10:16, Alisson Lucrecio <alissonluc@yahoo.com.br> escreveu:
Caro Colegas, Bom dia.
Eu estou tentando construir uma PCA no base, mas estou entendo alguns problema.
Tenho uma data.frame com uma célula com valor "#F7F7F7" (dm.x[,1+i]) e gostaria de substitui-la por outro valor de acordo com o valor de uma célula especifica,
assim tenho:
dm.x[,2][which(dm.x[,1] == 0)] <- #D9D9D9
Erro.
Mensagens de aviso perdidas: In `[<-.factor`(`*tmp*`, which(dm.x[, 1 + i] == var[[ii, 1]]), value = c(NA_integer_, : invalid factor level, NAs generated
Obrigando
Alisson Lucrécio 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.