如何在 r 中将字符转换为数字(附示例)


我们可以使用以下语法将字符向量转换为 R 中的数值向量:

 numeric_vector <- as. numeric (character_vector)

本教程提供了该功能实际使用的几个示例。

示例 1:将字符向量转换为数值

以下代码显示如何将字符向量转换为数值向量:

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

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

#view digital vector
numbers

[1] 12 14 19 22 26

#confirm class of numerical vector
class (numbers)

[1] "digital"

示例 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

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

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

[1] "digital"

示例 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)

          abcd
"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)

        abcd
"numeric" "numeric" "factor" "numeric"

此代码对数据框列进行了以下更改:

  • a栏:从字符到数字
  • b 列:从字符到数字
  • c 列:不变(因为它是一个因素)
  • d 列:未更改(因为它已经是数字)

使用apply()sapply()函数,我们能够仅将字符列转换为数字列,并保持所有其他列不变。

其他资源

R中如何将数字转换为字符
如何将字符转换为R中的因子
R中如何将因子转换为字符
如何在R中将字符转换为时间戳

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注