How to count observations per ID in R? I have a large amount of Data where I have to count meassurments per one ID. What I already did was creating a Data Frame over all Files and I omited the NAs. This part works properly. I was wondering if the nrow-function is the right function to solve this but I figured out that this will not lead me to the target as it returns a single number as output. 

What I am looking for is if you have entries like that:

1155 2010-05-02  2.7200    1
1156 2010-05-05  2.6000    3
1157 2010-05-08  2.6700    1
1158 2010-05-11  3.5700    2


That I get a list:

ID          Number of observations
1           2
2           1
3           1
Using the data.table structure (see the wiki),

library(data.table)
D &lt;- data.table(x = c(1155, 1156, 1157, 1158),
                date = as.Date(c("2010-05-02", "2010-05-05", "2010-05-08", "2010-05-11")),
                y = c(2.7200, 2.6000, 2.6700, 3.5700),
                id = c(1, 3, 1, 2))
counts &lt;- D[, .(rowCount = .N), by = id]
counts


This will return

counts
##    id rowCount
## 1:  1        2
## 2:  3        1
## 3:  2        1