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 dataprint(load('dataC.inia.rda'))## Building matrix for replicates# Sampling 1rep1C <- dataC.inia[dataC.inia$replicate == 1,]str(rep1C)# Sampling 2rep2C <- dataC.inia[dataC.inia$replicate == 2,]str(rep2C)all(names(rep1C) %in% names(rep2C))# valores únicos das 4 primeiras varslapply(rep1C[ ,1:4], function(x)unique(x))lapply(rep2C[ ,1:4], function(x)unique(x))# combinando dadoslibrary(dplyr)comb_repC <- left_join(rep1C[, 1:4], rep2C)# comb_repC2 <- full_join(rep1C[, 1:4], rep2C)comb_repC# verificaçãodim(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 <r-br@listas.c3sl.ufpr.br>:Oi Leonardo,Obrigada pela sua ajuda.Coloquei o arquivo rda no Dropbox. Veja se consegue abrir agora.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 1rep1C <- dataC.inia[dataC.inia$replicate == 1,]table(rep1C$area, rep1C$season, rep1C$transect)dim(rep1C)# Sampling 2rep2C <- 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,HeloiseEm 25 de junho de 2016 16:32, Leonardo Fontenelle via R-br <r-br@listas.c3sl.ufpr.br> 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, ] <- NAdfSó que... Estou curioso para saber que tipo de problema você pretende resolver com isso.Att,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 dataload('dataC.inia.rda')## Building matrix for replicates# Sampling 1rep1C <- dataC.inia[dataC.inia$replicate == 1,]table(rep1C$area, rep1C$season, rep1C$transect)dim(rep1C)# Sampling 2rep2 <- dataC.inia[dataC$replicate == 2,]table(rep2$area, rep2$season, rep2$transect)dim(rep2)#----------------------------------------------------------------------Obrigada pela ajuda!Heloise_______________________________________________R-br mailing listLeia 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.
_______________________________________________
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.###############################################################
## 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###############################################################