Weighted Frequency Table in R (Example)

 

On this page, I’ll explain how to construct a table with weights in the R programming language.

The content of the post looks as follows:

Here’s the step-by-step process:

 

Creating Example Data

The following data will be used as basement for this R tutorial:

data <- data.frame(values = c(letters[1:3], letters[2:5], "b"),  # Create example data
                   weights = c(1, 2, 1, 5, 3, 1, 2, 3))
data                                                             # Print example data

 

table 1 data frame weighted frequency table

 

Table 1 shows that our example data has eight rows and two columns. The first variable contains the values that we want to show in a frequency table, and the second column contains the corresponding weights.

 

Example: Create Weighted Frequency Table Using wtd.table() Function of questionr Package

The following R programming syntax explains how to create a table with weighting using the R programming language.

For this task, we can use the questionr package. If we want to use the functions of the questionr package, we first have to install and load questionr:

install.packages("questionr")                                    # Install questionr package
library("questionr")                                             # Load questionr

Next, we can apply the wtd.table function of the questionr package to make a weighted frequency table:

my_wtd_table <- wtd.table(x = data$values,                       # Create weighted table
                          weights = data$weights)
my_wtd_table                                                     # Print weighted table
# a  b  c  d  e 
# 1 10  4  1  2

The previous RStudio console output shows our input data in a weighted frequency distribution table.

 

Video & Further Resources

Have a look at the following video on my YouTube channel. In the video tutorial, I show the contents of this tutorial:

 

The YouTube video will be added soon.

 

Furthermore, you might want to have a look at the related articles on this website.

 

In this article, I have demonstrated how to create a weighted frequency table in R programming. Tell me about it in the comments, in case you have additional questions. In addition, please subscribe to my email newsletter to get updates on new tutorials.

 

Subscribe to the Statistics Globe Newsletter

Get regular updates on the latest tutorials, offers & news at Statistics Globe.
I hate spam & you may opt out anytime: Privacy Policy.


2 Comments. Leave new

  • Dear Joachim,

    Thank you very much for your clear examples, they help me a lot. I have a question about this post (Create Weighted Frequency Table Using wtd.table() Function of questionr Package). I succeeded 😉 However, I would like to make a frequency table of several variables, all using the same weight factor. Is this possible or should I continue with one variable at the time?

    Thank you so much for your reply

    Reply
    • Hello Eva,

      Please try this code:

      #install.packages(“questionr”)
      library(questionr)

      # Sample data
      df <- data.frame( var1 = sample(c("A", "B", "C"), 5, replace = TRUE), var2 = sample(c("X", "Y", "Z"), 5, replace = TRUE), var3 = sample(c("M", "N"), 5, replace = TRUE), weight_var = sample(1:10, 5, replace = TRUE) ) df vars_to_tabulate <- c("var1", "var2", "var3") list_of_tables <- lapply(vars_to_tabulate, function(var_name) { wtd.table(df[[var_name]], weights = df$weight_var) }) names(list_of_tables) <- vars_to_tabulate list_of_tables Best, Cansu

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

Top