Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create a variable that identifies the original data.frame after rbind command in R

Tags:

loops

r

rbind

I am relatively new to R and I would like to know how can I create a variable (number sequence) that identifies the each of the original data.frames before being joined with the rbind command.

Since in the original data frames there is one variable that is a row ID number, if creating a loop that assigns a new number in the new variable each time it encounters the number 1 in the row ID, it should work...

Thanks.

like image 827
Francisco Beca Avatar asked Dec 03 '14 22:12

Francisco Beca


1 Answers

It looks like bind_rows from the dplyr package will do this too. Using maloneypatr's example:

df1 <- data.frame(a = seq(1, 5, by = 1),
                  b = seq(21, 25, by = 1))

df2 <- data.frame(a = seq(6, 10, by = 1),
                  b = seq(26, 30, by = 1))

dplyr::bind_rows(df1, df2, .id = "source")

Source: local data frame [10 x 3]

#    source     a     b
#     (chr) (dbl) (dbl)
# 1       1     1    21
# 2       1     2    22
# 3       1     3    23
# 4       1     4    24
# 5       1     5    25
# 6       2     6    26
# 7       2     7    27
# 8       2     8    28
# 9       2     9    29
# 10      2    10    30
like image 154
Jake Fisher Avatar answered Sep 18 '22 00:09

Jake Fisher