Как преобразовать символ в число в R (с примерами)


Мы можем использовать следующий синтаксис для преобразования вектора символов в числовой вектор в R:

numeric_vector <- as. numeric (character_vector)

В этом руководстве представлено несколько примеров использования этой функции на практике.

Пример 1. Преобразование вектора из символьного в числовой

Следующий код показывает, как преобразовать вектор символов в числовой вектор:

#create character vector
chars <- c('12', '14', '19', '22', '26')

#convert character vector to numeric vector
numbers <- as. numeric (chars)

#view numeric vector
numbers

[1] 12 14 19 22 26

#confirm class of numeric vector
class (numbers)

[1] "numeric"

Пример 2. Преобразование столбца из символьного в числовой

В следующем коде показано, как преобразовать определенный столбец во фрейме данных из символьного в числовой:

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

#convert column 'a' from character to numeric
df$a <- as.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"

Пример 3. Преобразование нескольких столбцов из символьных в числовые

В следующем коде показано, как преобразовать все символьные столбцы во фрейме данных из символьных в числовые:

#create data frame
df <- data.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] <- as. data.frame ( apply(df[ , chars], 2, as. numeric ))

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

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

Этот код внес следующие изменения в столбцы фрейма данных:

  • Столбец a: от символа к цифре
  • Столбец b: от символа к цифре
  • Столбец c: без изменений (поскольку это был фактор)
  • Столбец d: без изменений (поскольку он уже был числовым)

Используя функции apply() и sapply() , мы смогли преобразовать только столбцы символов в числовые столбцы и оставить все остальные столбцы без изменений.

Дополнительные ресурсы

Как преобразовать число в символ в R
Как преобразовать символ в фактор в R
Как преобразовать фактор в символ в R
Как преобразовать символ в метку времени в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.