[R] merging two data frame with colomns of different length

Etienne B. Racine etiennebr at gmail.com
Fri Jul 31 21:35:08 CEST 2009


Salut Julien,

t1 <- table(data1$Id01)
t2 <- table(data2$Id02)

# compute difference between the two tables
diff <- t1-t2

# create your data frame from data2
res <- data2
names(res)[1] <- "Id01"

lsAdd <- rep(attributes(diff)$dimnames[[1]],diff)

defVal <- NA
rbind(res,data.frame(Id01 =lsAdd, Area=defVal))


Julien Beguin wrote:
> 
> Dear all,
> 
> I am trying to merge two data frames based on a common column but for this
> common column both data frame do not have the same length and associated
> information. I checked previous exemples in the list but was not able to
> apply
> them in my case... Is someone know how to do that? Below is my code with
> the
> expected result:
> 
> # data frame 1
> Id1 <- c(1,1,1,2,2,2,3,3,3)
> Habit1 <- c('a','a','a','b','b','b','d','d','d')
> Id01 <- paste(Id1, Habit1,sep=".")
> data1 <- data.frame(Id01)
> 
> # data frame 2
> Id2 <- c(1,2,3,3)
> Habit2 <- c('a','b','d','d')
> Id02 <- paste(Id2, Habit2,sep=".")
> Area <- c(10,2,3,5)
> data2 <- data.frame(cbind(Id02, Area))
> 
> # result that I would like
> Area2 <- c(10, 0, 0, 2, 0, 0, 3, 5, 0)
> result <- data.frame(cbind(Id01, Area2))
> 
> Thank's
> 
> --
> 
> Julien Beguin
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
> 
> 

-- 
View this message in context: http://www.nabble.com/merging-two-data-frame-with-colomns-of-different-length-tp24760153p24761975.html
Sent from the R help mailing list archive at Nabble.com.




More information about the R-help mailing list