
Data frames are like tables with rows and columns They help you store and work with data efficiently. This article will show you steps to manipulate data frames in R.
Introduction to Data Frames
Data frames are tables used in R. Each column can have different data types, like numbers, text, or dates. Each row represents a single record. Data frames organize and analyze various kinds of data.
Creating Data Frames
You can create data frames using the ‘data.frame()’ function.
# Creating a data frame
df <- data.frame(
Name = c("Emily", "Alex", "Katie", "Ron"),
Age = c(21, 38, 56, 49),
Score = c(85.5, 90.0, 88.0, 92.5)
)
This data frame contains details about four people. It has three columns: Name, Age, and Score.
Accessing Data
To access columns, you can use the $ operator or indexing.
# Accessing a column df$Name

The code retrieves the Name column and the first row of the data frame.
Adding and Remove Columns
Adding New Columns
New columns can be added to a data frame using indexing or the $ operator:
# Adding a new column
df$Gender <- c("Female", "Male", "Female", "Male")
# Displaying the updated data frame
print(df)

The code creates a column named Gender. It tells the gender of each person.
Removing Columns
To remove columns, you can set them to NULL:
# Removing a column df$Gender <- NULL print(df)

This code removes the Gender column from the data frame.
Filtering and Subsetting Data
Filtering Rows Based on Conditions
Use logical conditions to filter rows. You can do this directly with base R.
# Filtering rows where Score is greater than 85 # Filter rows where the Score is greater than 88 filtered_df <- df[df$Score > 88, ] print(filtered_df)

The code creates a new data frame that only includes rows where the Score is greater than 88.
Selecting Specific Columns
To select specific columns, use the dplyr package:
# Selecting columns using dplyr
library(dplyr)
# Select specific columns (Name and Age)
subset_df <- df[c("Name", "Age")]
print(subset_df)

This code creates a new data frame with only the Name and Age columns.
Sorting Data
Use the ‘order()’ function to sort data frames:
# Sorting by Age sorted_df <- df[order(df$Age),] print(sorted_df)

This code creates a new data frame where the rows are ordered from the youngest to the oldest based on age.
Merging and Joining Data Frames
Merging Data
The ‘merge()’ function allows you to combine data frames by common columns:
# Merging two data frames
df1 <- data.frame(ID = 1:3, Value = c("A", "B", "C"))
df2 <- data.frame(ID = 2:4, Score = c(88, 92, 95))
merged_df <- merge(df1, df2, by = "ID")
print(merged_df)

This code combines these data frames. It includes only rows where the IDs match in both data frames.
Joining Data
dplyr provides several join functions like left_join(), right_join(), inner_join(), and full_join():
# Using left_join() library(dplyr) joined_df <- left_join(df1, df2, by = "ID") print(joined_df)

This code performs a left join operation on two data frames. It combines the two data frames based on the ID column.
Grouping and Summarizing Data
The ‘group_by()’ function from dplyr helps you group data by one or more variables:
# Grouping data by Age grouped_df <- df %>% group_by(Age) print(grouped_df)

This code creates a new data frame where the data is organized into groups based on age.
After grouping, use summarize() to calculate summary statistics:
# Summarizing data summary_df <- df %>% group_by(Age) %>% summarize(Average_Score = mean(Score)) print(summary_df)

This code calculates the average Score for each age group.
Exporting and Saving Data Frames
Use ‘write.csv()’ to export data frames:
# Writing data frame to a CSV file write.csv(df, "data_frame.csv", row.names = FALSE)
This code saves the data frame to a CSV file in the current directory.
Use save() to save data frames in R’s native format:
# Saving data frame to a .rda file save(df, file = "data_frame.rda")
This code saves the data frame to a file with the .rda extension.
Conclusion
This article explains how to manipulate data frames in R. It covers key operations you need to know. By learning these techniques, you’ll manage and analyze data better in R.
