To create relative frequency tables in R, you can use two different ways prop.table() function and dplyr package.
The following methods show how you can do it with syntax.
Method 1: Use prop.table() Function
frequency_table <- table(data)
prop.table(frequency_table)
Method 2: Use dplyr Package
library(dplyr)
df %>%
group_by(data) %>%
summarise(count = n()) %>%
mutate(relative_frequency = count / sum(count))
The following examples show how to create relative frequency table in R.
Using prop.table() Function
Let’s see how we can use prop.table() function to create relative frequency table in R:
# Create data frame
df <- data.frame(Machine_name=c("A","B","C","D","E","F","G","H","A","B","A","C","D","B","E","H"),
Pressure=c(12,11,12,13,13,9,12,12,9,8,7,8,12,11,9,8),
Status=c("OK","Suspect","OK","OK","Suspect","Suspect","Suspect","OK","OK","OK","OK","OK","Suspect","Suspect","Suspect","OK"))
# Calculate relative frequency
freq_table <- table(df$Status)
# Calculate relative frequency
prop.table(freq_table)
Output:
OK Suspect
0.5625 0.4375
Here the output shows relative table for Status column of data frame.
Using dplyr Package
Let’s see how we can create relative frequency table using dplyr package in R:
library(dplyr)
# Create data frame
df <- data.frame(Machine_name=c("A","B","C","D","E","F","G","H","A","B","A","C","D","B","E","H"),
Pressure=c(12,11,12,13,13,9,12,12,9,8,7,8,12,11,9,8),
Status=c("OK","Suspect","OK","OK","Suspect","Suspect","Suspect","OK","OK","OK","OK","OK","Suspect","Suspect","Suspect","OK"))
# Calculate relative frequency
r <- df %>%
group_by(Machine_name) %>%
summarise(count = n()) %>%
mutate(relative_frequency = count / sum(count))
# Show print relative frequency
print(r)
Output:
Machine_name count relative_frequency
<chr> <int> <dbl>
1 A 3 0.188
2 B 3 0.188
3 C 2 0.125
4 D 2 0.125
5 E 2 0.125
6 F 1 0.0625
7 G 1 0.0625
8 H 2 0.125
Here the output shows relative frequncy table for Machine_name column of data frame.