Randomly Reorder Data Frame by Row and Column in R (2 Examples)
In this R tutorial you’ll learn how to shuffle the rows and columns of a data frame randomly.
The article contains two examples for the random reordering. More precisely, the content of the post is structured as follows:
Let’s get started…
Creation of Example Data
We’ll use the data below as basement for this R programming tutorial:
data <- data.frame(x1 = 1:10, # Create example data x2 = LETTERS[1:10]) data # Print example data # x1 x2 # 1 1 A # 2 2 B # 3 3 C # 4 4 D # 5 5 E # 6 6 F # 7 7 G # 8 8 H # 9 9 I # 10 10 J
Have a look at the previous output of the RStudio console. It shows that our exemplifying data has ten rows and two columns. The variable x1 contains numeric values ranging from 1 to 10 and the variable x2 contains alphabetic letters ranging from A to J.
Let’s shuffle these data!
Example 1: Shuffle Data Frame by Row
In Example 1, I’ll show how to reorder a data matrix rowwise. First, we need to set a seed for reproducibility:
set.seed(2347723) # Set seed
data_row <- data[sample(1:nrow(data)), ] # Randomly reorder rows data_row # Print updated data # x1 x2 # 4 4 D # 7 7 G # 5 5 E # 1 1 A # 10 10 J # 6 6 F # 8 8 H # 3 3 C # 9 9 I # 2 2 B
As you can see based on the previous output of the RStudio console, our updated data frame is permuted rowwise.
Example 2: Shuffle Data Frame by Column
In Example 2, I’ll show how to permute a data frame columnwise. Again, we need to set a seed for reproducibility first:
set.seed(8732645) # Set seed
Now, we can use a combination of the sample and ncol functions to shuffle our data by variables:
data_col <- data[ , sample(1:ncol(data))] # Randomly reorder columns data_col # Print updated data # x2 x1 # 1 A 1 # 2 B 2 # 3 C 3 # 4 D 4 # 5 E 5 # 6 F 6 # 7 G 7 # 8 H 8 # 9 I 9 # 10 J 10
Have a look at the previous output: The two variables x1 and x2 were exchanged.
Video & Further Resources
Do you need further info on the R programming syntax of this post? Then you may want to watch the following video of my YouTube channel. In the video, I illustrate the examples of this post in the R programming language.
Furthermore, you might have a look at the related tutorials of this website. Some articles can be found below.
- sample Function in R
- The nrow Function
- The ncol Function
- Sample Random Rows of Data Frame in R
- sample_n & sample_frac R Functions of dplyr Package
- The R Programming Language
In this R tutorial you learned how to permute or randomize the row and column ordering of a data frame. In case you have any additional questions, let me know in the comments section.