[R] Add Columns and Order for Rbind?
Gabor Grothendieck
ggrothendieck at gmail.com
Tue May 31 19:04:08 CEST 2005
On 5/31/05, khobson at fd9ns01.okladot.state.ok.us
<khobson at fd9ns01.okladot.state.ok.us> wrote:
>
>
>
>
> 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.
>
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.
More information about the R-help
mailing list