[R] rbind with different columns

Antje niederlein-rstat at yahoo.de
Wed Oct 21 08:52:48 CEST 2009


Karl Ove Hufthammer wrote:
> In article <4ADDC1D0.2040506 at yahoo.de>, niederlein-rstat at yahoo.de 
> says...
>> In every list entry is a data.frame but the columns are only partially 
>> the same. If I have exactly the same columns, I could do the following 
>> command to combine my data:
>>
>> do.call("rbind", myList)
>>
>> but of course it does not work with differnt column names. Is there any 
>> easy way to retrieve a combined table like this:
> 
> You're in luck. 'rbind.fill' in the 'plyr' package does exactly what you 
> want.
> 


Thanks a lot for your hint. I'll give it a look :-)
So far, I have solved it with basic tools like this (it's less work than 
I thought):


availableColumns <- unique(unlist(sapply(myList, names)))

myList <- lapply(myList, FUN = function(entry) {
	missingColumns <- availableColumns[which(!availableColumns %in% 
names(entry))]
	entry[, missingColumns] <- NA
	entry
})

do.call("rbind", myList)




More information about the R-help mailing list