4.5 C
London
Thursday, December 19, 2024
HomeStatistics TutorialRHow to Convert Character to Numeric in R (With Examples)

How to Convert Character to Numeric in R (With Examples)

Related stories

Learn About Opening an Automobile Repair Shop in India

Starting a car repair shop is quite a good...

Unlocking the Power: Embracing the Benefits of Tax-Free Investing

  Unlocking the Power: Embracing the Benefits of Tax-Free Investing For...

Income Splitting in Canada for 2023

  Income Splitting in Canada for 2023 The federal government’s expanded...

Can I Deduct Home Office Expenses on my Tax Return 2023?

Can I Deduct Home Office Expenses on my Tax...

Canadian Tax – Personal Tax Deadline 2022

  Canadian Tax – Personal Tax Deadline 2022 Resources and Tools...

We can use the following syntax to convert a character vector to a numeric vector in R:

numeric_vector numeric(character_vector)

This tutorial provides several examples of how to use this function in practice.

Example 1: Convert a Vector from Character to Numeric

The following code shows how to convert a character vector to a numeric vector:

#create character vector
chars 

#convert character vector to numeric vector
numbers numeric(chars)

#view numeric vector
numbers

[1] 12 14 19 22 26

#confirm class of numeric vector
class(numbers)

[1] "numeric"

Example 2: Convert a Column from Character to Numeric

The following code shows how to convert a specific column in a data frame from character to numeric:

#create data frame
df frame(a = c('12', '14', '19', '22', '26'),
                 b = c(28, 34, 35, 36, 40))

#convert column 'a' from character to numeric
df$a numeric(df$a)

#view new data frame
df

   a  b
1 12 28
2 14 34
3 19 35
4 22 36
5 26 40

#confirm class of numeric vector
class(df$a)

[1] "numeric"

Example 3: Convert Several Columns from Character to Numeric

The following code shows how to convert all character columns in a data frame from character to numeric:

#create data frame
df frame(a = c('12', '14', '19', '22', '26'),
                 b = c('28', '34', '35', '36', '40'),
                 c = as.factor(c(1, 2, 3, 4, 5)),
                 d = c(45, 56, 54, 57, 59))

#display classes of each column
sapply(df, class)

          a           b           c           d 
"character" "character"    "factor"   "numeric" 

#identify all character columns
chars sapply(df, is.character)

#convert all character columns to numeric
df[ , chars] data.frame(apply(df[ , chars], 2, as.numeric))

#display classes of each column
sapply(df, class)

        a         b         c         d 
"numeric" "numeric"  "factor" "numeric" 

This code made the following changes to the data frame columns:

  • Column a: From character to numeric
  • Column b: From character to numeric
  • Column c: Unchanged (since it was a factor)
  • Column d: Unchanged (since it was already numeric)

By using the apply() and sapply() functions, we were able to convert only the character columns to numeric columns and leave all other columns unchanged.

Additional Resources

How to Convert Numeric to Character in R
How to Convert Character to Factor in R
How to Convert Factor to Character in R
How to Convert a Character to a Timestamp in R

Subscribe

- Never miss a story with notifications

- Gain full access to our premium content

- Browse free from up to 5 devices at once

Latest stories