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 <[email protected]> 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 <[email protected]> > To: Alisson Lucrecio <[email protected]> > Cc: r-br <[email protected]> > 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 > <[email protected]> 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 <[email protected]> >> To: Alisson Lucrecio <[email protected]> >> Cc: r-br <[email protected]> >> 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 >> <[email protected]> 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 <[email protected]> >>> To: r-br <[email protected]>; Alisson Lucrecio >>> <[email protected]> >>> 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 >>> <[email protected]> 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 >>>> [email protected] >>>> 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 [email protected] 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.
