Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create an ID (row number) column

Tags:

dataframe

r

r-faq

I need to create a column with unique ID, basically add the row number as an own column. My current data frame looks like this:

   V1  V2 1  23  45 2  45  45 3  56  67 

How to make it look like this:

V1  V2  V3 1  23  45 2  45  45 3  56  67 

?

Many thanks

like image 467
user10745 Avatar asked May 05 '13 13:05

user10745


People also ask

How do I create a row number in R?

To Generate Row number to the dataframe in R we will be using seq.int() function. Seq.int() function along with nrow() is used to generate row number to the dataframe in R. We can also use row_number() function to generate row index.

How do I create a column of numbers in R?

How do I add a column to a DataFrame in R? To add a new column to a dataframe in R you can use the $-operator. For example, to add the column “NewColumn”, you can do like this: dataf$NewColumn <- Values . Now, this will effectively add your new variable to your dataset.


1 Answers

Two tidyverse alternatives (using sgibb's example data):

tibble::rowid_to_column(d, "ID") 

which gives:

  ID V1 V2 1  1 23 45 2  2 45 45 3  3 56 67 

Or:

dplyr::mutate(d, ID = row_number()) 

which gives:

  V1 V2 ID 1 23 45  1 2 45 45  2 3 56 67  3 

As you can see, the rowid_to_column-function adds the new column in front of the other ones while the mutate&row_number()-combo adds the new column after the others.


And another base R alternative:

d$ID <- seq_along(d[,1]) 
like image 64
Jaap Avatar answered Sep 22 '22 07:09

Jaap