This article represents concepts and code samples on how to append rows to a data frame when working with R programming language. Please feel free to comment/suggest if I missed mentioning one or more important points. Also, sorry for the typos.
Following are the key points described later in this article:
For illustration purpose, we shall use a student data frame having following information:
First.Name Age 1 Calvin 10 2 Chris 25 3 Raj 19
Following code represents how to create an empty data frame and append a row.
# Create an empty data frame, teachers, with columns as name, and age # Note stringsAsFactors = FALSE teachers <- data.frame( "name" = character(), "age" = integer(), stringsAsFactors=FALSE) # Alternate way to create is to specify 0 as size of vector teachers <- data.frame( "name" = character(0), "age" = integer(0), stringsAsFactors=FALSE) # Append a row teachers[nrow(teachers) + 1, ] <- c( "ted", 50) teachers[nrow(teachers) + 1, ] <- c( "james", 55) # Print teachers teachers
Following will get printed
name age 1 ted 50 2 james 55
Approach 1:Lets say, you have a student data frame consisting of two columns, namely, First name and Age. The need is to add additional rows. Following code demonstrate the way you could add rows to existing data frame.
# Following code uses rbind to append a data frame to existing data frame student <- rbind( student, data.frame("First Name"="James", "Age"=55)) # View the student data frame student
Following is the new data frame:
First.Name Age 1 Calvin 10 2 Chris 25 3 Raj 19 4 James 55
Approach 2: Following is another approach. It assumed that the student data frame was created using stringsAsFactors=FALSE. Note that this is key for following to work.
# Assign a vector to the new row accessed using index, nrow(student) + 1 student[nrow(student)+1,] <- c("John", 55 ) # Print student student
Following gets printed
First.Name Age 1 Calvin 10 2 Chris 25 3 Raj 19 4 James 55 5 John 55
Last updated: 25th Jan, 2025 Have you ever wondered how to seamlessly integrate the vast…
Hey there! As I venture into building agentic MEAN apps with LangChain.js, I wanted to…
Software-as-a-Service (SaaS) providers have long relied on traditional chatbot solutions like AWS Lex and Google…
Retrieval-Augmented Generation (RAG) is an innovative generative AI method that combines retrieval-based search with large…
The combination of Retrieval-Augmented Generation (RAG) and powerful language models enables the development of sophisticated…
Have you ever wondered how to use OpenAI APIs to create custom chatbots? With advancements…
View Comments
Please explain 'stringsAsFactors=FALSE'