# Count Number of Observations in R

In real-life situations, we deal with large sets of data. This may exceed hundreds of observations, and sometimes there may be a need to extract some specific data from the whole.

For such situations, we have a few methods in R, which can aid in counting the total observations of this filtered data. We will work on the following DataFrame in this tutorial.

``````df <- data.frame( gender = c("M","F","M","M"),
age = c(18,19,14,22),
stream = c("Arts","Science","Arts","Commerce"))
print(df)
``````

Output:

``````  gender age   stream
1      M  18     Arts
2      F  19  Science
3      M  14     Arts
4      M  22 Commerce
``````

The first method involves the `with()` and the `sum()` functions.

The `with()` function returns a logical vector based on some expression after applying it to the whole dataset, and the `sum()` function will return the sum of all the `TRUE` observations.

The following code snippet will show how this works.

``````df <- data.frame( gender = c("M","F","M","M"),
age = c(18,19,14,22),
stream = c("Arts","Science","Arts","Commerce"))

sum(with(df,gender == "M"))
 3
``````

We can also add multiple expressions using the `&` operator.

``````sum(with(df,gender == "M" & stream == "Commerce"))
 1
``````

Another method involves the use of the `nrow()` function, which returns the number of rows in a dataset. We can filter out the required observations from the DataFrame, as shown below:

``````nrow(df[df\$gender == "M",])
 3
``````

Again, we can add multiple expressions as what we do in the `with()` function.

``````nrow(df[df\$gender == "M" & df\$stream == "Commerce",])
 1
``````

We can also use the `filer()` function provided in the `dplyr` library. This returns a subset of data based on some condition. The following example explains how:

``````library(dplyr)
nrow(filter(df,gender == "M"))
 3
nrow(filter(df,gender == "M" & stream == "Commerce"))
 1
``````

## Related Article - R DataFrame

• Count Number of Rows in R