How can I use the rowMeans() function in R for calculating the mean of each row in a data frame?

The rowMeans() function in R is used to calculate the mean of each row in a data frame. This function takes a data frame as its input and returns a vector containing the mean values for each row. It is particularly useful for analyzing large datasets and allows for quick and efficient calculation of row means without the need for complex coding. By using the rowMeans() function, users can easily obtain an overview of the average values for each row in their data, providing valuable insights for further analysis and decision-making.

Use rowMeans() Function in R


The rowMeans() function in R can be used to calculate the mean of several rows of a matrix or data frame in R.

This function uses the following basic syntax:

#calculate row means of every column
rowMeans(df)

#calculate row means and exclude NA values
rowMeans(df, na.rm=T)

#calculate row means of specific rows
rowMeans(df[1:3, ])

The following examples show how to use this syntax in practice.

Example 1: Calculate Mean of Every Row

The following code shows how to calculate the mean of every row in a data frame:

#create data frame
df <- data.frame(points=c(99, 91, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28),
                 blocks=c(1, 4, 11, 0, 2))

#view data frame
df

  points assists rebounds blocks
1     99      33       30      1
2     91      28       28      4
3     86      31       24     11
4     88      39       24      0
5     95      34       28      2

#calculate row means
rowMeans(df)

[1] 40.75 37.75 38.00 37.75 39.75

Here’s how to interpret the output:

  • The mean of values in the first row is 40.75.
  • The mean of values in the second row is 37.75.

And so on.

Example 2: Calculate Mean of Every Row & Exclude NA’s

The following code shows how to calculate the mean of every row and exclude NA values:

#create data frame with some NA values
df <- data.frame(points=c(99, 91, 86, 88, 95),
                 assists=c(33, NA, 31, 39, 34),
                 rebounds=c(30, 28, NA, NA, 28),
                 blocks=c(1, 4, 11, 0, 2))

#view data frame
df

  points assists rebounds blocks
1     99      33       30      1
2     91      NA       28      4
3     86      31       NA     11
4     88      39       NA      0
5     95      34       28      2

#calculate row means
rowMeans(df, na.rm=T)

[1] 40.75000 41.00000 42.66667 42.33333 39.75000

Example 3: Calculate Mean of Specific Rows

The following code shows how to calculate the mean values of specific rows in the data frame:

#create data frame
df <- data.frame(points=c(99, 91, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28),
                 blocks=c(1, 4, 11, 0, 2))

#calculate row means for first three rows only
rowMeans(df[1:3, ])

    1     2     3 
40.75 37.75 38.00  

We can also use the c() syntax to select specific rows:

#calculate row means for rows 1, 4, and 5
rowMeans(df[c(1, 4, 5), ])

    1     4     5 
40.75 37.75 39.75  

Additional Resources

The following tutorials explain how to perform other common functions in R:

x