Skip to content

Add Columns and Order for Rbind?

2 messages · khobson@fd9ns01.okladot.state.ok.us, Gabor Grothendieck

#
I am using rbind to add one list with one row to another master list.  The
problem is that not all columns exist in both lists.

What methods would you recommend to reorder one list based on the column
names of another?   If both sets have the same order and columns, I can
then use rbind.  I can live with columns being added to the master list set
it makes the task easier using something like union for column name
matching and order.

mailto:khobson at odot.org
Kenneth Ray Hobson, P.E.
Oklahoma DOT - QA & IAS Manager
200 N.E. 21st Street
Oklahoma City, OK  73105-3204
(405) 522-4985, (405) 522-0552 fax

Visit our website at:
http://www.okladot.state.ok.us/materials/materials.htm
#
On 5/31/05, khobson at fd9ns01.okladot.state.ok.us
<khobson at fd9ns01.okladot.state.ok.us> wrote:
Suppose we have this test data:

# test data
irish <- head(iris)
one.row <- data.frame(Sepal.Length = 5, Sepal.Area = 10)

# Then we rbind an NA row to irish and fill it with one.row

irish <- rbind(irish, NA)
irish[nrow(irish),names(one.row)] <- one.row


# If you don't want columns added to the master list do this instead:

irish <- head(iris)  # recreate test data
irish  <- rbind(irish, NA)
both <- intersect(names(irish), names(one.row))
irish[nrow(irish), both] <- one.row[,both]

Note that appending rows one at a time can be slow.