w3resource

R Programming - Change a Column name in a Data Frame


Write a R program to change a column name of a given data frame.

Sample Solution :

R Programming Code :

 # Create a data frame with initial column names and values
exam_data = data.frame(
  name = c('Anastasia', 'Dima', 'Katherine', 'James', 'Emily', 'Michael', 'Matthew', 'Laura', 'Kevin', 'Jonas'),
  score = c(12.5, 9, 16.5, 12, 9, 20, 14.5, 13.5, 8, 19),
  attempts = c(1, NA, 2, NA, 2, NA, 1, NA, 2, 1),
  qualify = c('yes', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'no', 'no', 'yes')
)

# Print the original data frame to the console
print("Original dataframe:")
print(exam_data)

# Print a message indicating the column name change operation
print("Change column-name 'name' to 'student_name' of the said dataframe:")

# Change the column name from 'name' to 'student_name'
colnames(exam_data)[which(names(exam_data) == "name")] = "student_name"

# Print the modified data frame to the console
print(exam_data)

Output:

[1] "Original dataframe:"
        name score attempts qualify
1  Anastasia  12.5        1     yes
2       Dima   9.0       NA      no
3  Katherine  16.5        2     yes
4      James  12.0       NA      no
5      Emily   9.0        2      no
6    Michael  20.0       NA     yes
7    Matthew  14.5        1     yes
8      Laura  13.5       NA      no
9      Kevin   8.0        2      no
10     Jonas  19.0        1     yes
[1] "Change column-name 'name' to 'student_name' of the said dataframe:"
   student_name score attempts qualify
1     Anastasia  12.5        1     yes
2          Dima   9.0       NA      no
3     Katherine  16.5        2     yes
4         James  12.0       NA      no
5         Emily   9.0        2      no
6       Michael  20.0       NA     yes
7       Matthew  14.5        1     yes
8         Laura  13.5       NA      no
9         Kevin   8.0        2      no
10        Jonas  19.0        1     yes

Explanation:

  • Create a Data Frame:
    • exam_data = data.frame(...) initializes a data frame named exam_data.
    • name, score, attempts, and qualify are columns with respective values.
  • Print Original Data Frame:
    • print("Original dataframe:") outputs a message indicating that the original data frame will be printed.
    • print(exam_data) displays the content of the exam_data data frame.
  • Print Column Name Change Message:
    • print("Change column-name 'name' to 'student_name' of the said dataframe:") outputs a message indicating that the column name change operation is about to occur.
  • Change Column Name:
    • colnames(exam_data)[which(names(exam_data) == "name")] = "student_name" updates the column name from "name" to "student_name" in the exam_data data frame.
  • Print Modified Data Frame:
    • print(exam_data) displays the data frame after the column name change, showing the new column name "student_name".

R Programming Code Editor:



Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a R program to replace NA values with 3 in a given data frame.
Next: Write a R program to change more than one column name of a given data frame.

Test your Programming skills with w3resource's quiz.

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.