Oi Jônatan, Era exatamente este data.frame final que eu queria obter. Não vi diferença entre o uso da left_join e full_join, na verdade.
Muito obrigada pela sua ajuda! Heloise. Em 25 de junho de 2016 17:43, Jônatan <[email protected]> escreveu: > Heloíse, > a função left_join() do pacote dplyr acho que serve para fazer o que você > quer. Ela é um caso particular da merge(). Veja a diferença da full_join() > para a left_join(), de repente a última sirva dependendo se você tem mais > amostras. > ## Load data > print(load('dataC.inia.rda')) > > ## Building matrix for replicates > # Sampling 1 > rep1C <- dataC.inia[dataC.inia$replicate == 1,] > str(rep1C) > # Sampling 2 > rep2C <- dataC.inia[dataC.inia$replicate == 2,] > str(rep2C) > all(names(rep1C) %in% names(rep2C)) > # valores únicos das 4 primeiras vars > lapply(rep1C[ ,1:4], function(x)unique(x)) > lapply(rep2C[ ,1:4], function(x)unique(x)) > # combinando dados > library(dplyr) > comb_repC <- left_join(rep1C[, 1:4], rep2C) > # comb_repC2 <- full_join(rep1C[, 1:4], rep2C) > comb_repC > # verificação > dim(rep1C) > dim(rep2C) > dim(comb_repC) > # dim(comb_repC2) > lapply(rep1C[ ,1:4], function(x) unique(x)) > lapply(comb_repC[ ,1:4], function(x) unique(x)) > > > > 2016-06-25 16:50 GMT-03:00 Heloíse Pavanato <[email protected]>: > >> Oi Leonardo, >> >> Obrigada pela sua ajuda. >> >> Coloquei o arquivo rda no Dropbox. Veja se consegue abrir agora. >> >> https://www.dropbox.com/s/wg5zmqud4q62yng/dataC.inia.rda?dl=0 >> >> Eu tenho duas ocasiões amostrais que deveriam ser equivalentes. Porém, na >> primeira (rep1C) tenho mais meses amostrados. Gostaria de preencher a >> segunda ocasião (rep2C) com os meses faltantes para que fique igual ao >> primeiro data.frame. >> >> Estava tentando usar a função "rbind.fill" do pacote "plyr" mas sem >> sucesso. >> >> Segue CMR atualizado: >> >> #--------------------------------------------------------------------- >> ## Building matrix for replicates >> # Sampling 1 >> rep1C <- dataC.inia[dataC.inia$replicate == 1,] >> >> table(rep1C$area, rep1C$season, rep1C$transect) >> dim(rep1C) >> >> # Sampling 2 >> rep2C <- dataC.inia[dataC.inia$replicate == 2,] >> table(rep2C$area, rep2C$season, rep2C$transect) >> dim(rep2C) >> >> comb.rep <- rbind.fill(rep1C, rep2C) >> dim(comb.rep[comb.rep$replicate == '2',]) >> >> #--------------------------------------------------------------------- >> >> Obrigada, >> >> Heloise >> >> >> >> Em 25 de junho de 2016 16:32, Leonardo Fontenelle via R-br < >> [email protected]> escreveu: >> >>> Tentei baixar o arquivo, mas o que chegou foi um arquivo vazio (zero >>> byte). >>> >>> Se o que você quer realmente é esticar um data.frame, você pode fazer >>> algo assim: >>> >>> df <- data.frame(x = rnorm(10), y = rbinom(10, 1, 0.5)) >>> df[11:20, ] <- NA >>> df >>> >>> Só que... Estou curioso para saber que tipo de problema você pretende >>> resolver com isso. >>> >>> Att, >>> >>> Leonardo Ferreira Fontenelle <http://lattes.cnpq.br/9234772336296638> >>> >>> >>> Em Sáb 25 jun. 2016, às 12:20, Heloíse Pavanato via R-br escreveu: >>> >>> Boa tarde, >>> >>> Eu tenho dois data.frames com número de linhas diferentes (nrow(rep1C) = >>> 73, nrow(rep2C) = 45), e colunas iguais (19). >>> Eu quero que ambos data.frames fiquem com a mesma dimensão. Para isso, >>> rep2C deve ser aumentado com "NA". Porém, quero manter os mesmos índices >>> "area", "season", "month" para ambos data.frames. >>> >>> Alguém tem alguma idéia de que função usar? >>> >>> Segue CMR: >>> >>> #---------------------------------------------------------------------- >>> >>> ## Load data >>> # file: *https://www.datafilehost.com/d/64a6a8d9 >>> <https://www.datafilehost.com/d/64a6a8d9>* >>> load('dataC.inia.rda') >>> >>> ## Building matrix for replicates >>> # Sampling 1 >>> rep1C <- dataC.inia[dataC.inia$replicate == 1,] >>> >>> table(rep1C$area, rep1C$season, rep1C$transect) >>> dim(rep1C) >>> >>> # Sampling 2 >>> rep2 <- dataC.inia[dataC$replicate == 2,] >>> table(rep2$area, rep2$season, rep2$transect) >>> dim(rep2) >>> >>> #---------------------------------------------------------------------- >>> >>> Obrigada pela ajuda! >>> >>> Heloise >>> *_______________________________________________* >>> 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. >>> >> >> >> _______________________________________________ >> 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. >> > > > > -- > ############################################################### > ## Jônatan Dupont Tatsch > ## Professor do Departamento de Física > ## Centro de Ciências Exatas e Naturais (CCNE) > ## Universidade Federal de Santa Maria - UFSM > ## Faixa de Camobi, Prédio 13 - Campus UFSM - Santa Maria, RS, Brasil - > 97105-900 > ## Telefone: +55(55)33012083 > ## www.ufsm.br/meteorologia > ############################################################### >
_______________________________________________ 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.
