ave for average calculation in R
ave for average calculation in R, In this tutorial, the R programming language’s ave function is used to calculate averages.
The article will include two instances of the ave function in use. The tutorial will include the following, more specifically:
Missing Value Imputation in R » finnstats
Generating Example Data
Making some data that we can utilize in the following scenarios is the first step.
data <- data.frame(value = c(12, 11, 14, 51, 16, 12, 28, 31), group = rep(letters[1:4], each = 2)) data
value group 1 12 a 2 11 a 3 14 b 4 51 b 5 16 c 6 12 c 7 28 d 8 31 d
Our example data is a data frame with eight rows and two columns, as you can see from Table 1. The variable group has the character class, and the variable value is numerical.
Example 1: Apply the ave() function to every column in a data frame
The mean value of a whole data frame column can be calculated using the R programming code provided below (or a vector object).
For this task, we would often utilize the mean function.
mean_all <- mean(data$value) mean_all 21.875
However, as shown below, we can also use the ave function:
ave_all <- ave(data$value,FUN = mean) ave_all [1] 21.875 21.875 21.875 21.875 21.875 21.875 21.875 21.875
Have you yet to distinguish between the mean and ave functions?
PCA for Categorical Variables in R » finnstats
The output is only returned once by the mean function. The ave function, in contrast, only returns the output once for each input value.
The ave function has more to be discovered! So continue reading…
Example 2: Add data to a data frame and apply the ave() function to the group.
In the ave function, we also need to specify our group column for this.
The R programming syntax is demonstrated below:
ave_group <- ave(data$value, data$group,FUN = mean) ave_group
[1] 11.5 11.5 32.5 32.5 14.0 14.0 29.5 29.5
As you can see, we’ve given each group’s mean value.
Classification Problem in Machine Learning » finnstats
If we want to add the grouped mean values as a new column to our data frame, this is extremely helpful:
data_new <- data.frame(data,ave_group) data_new
value group ave_group 1 12 a 11.5 2 11 a 11.5 3 14 b 32.5 4 51 b 32.5 5 16 c 14.0 6 12 c 14.0 7 28 d 29.5 8 31 d 29.5
The data frame seen in Table 2 has been produced after the previously demonstrated code has been executed.
The mean value for each group has been added to our data frame.
In this instance, we have grouped our data using a character column. However, the grouped mean over level combinations of factors can also be determined.