如何在 R 中将字符数据框转换成数值数据框?


有时,数值会被记录为字符值,并且在开始分析之前,我们需要将它们转换为数值类型。对于 R 中的整个数据框也是可行的。因此,我们可以使用 sapply 函数将数据框的列转换为数值类型,并通过使用 as.data.frame 读入数据框来保存输出。

示例 1

考虑下面的数据框 −

 实时演示

x<−sample(c("1","2","3"),20,replace=TRUE)
df1<−data.frame(x)
df1

输出

   x
1  2
2  2
3  2
4  1
5  2
6  3
7  1
8  2
9  2
10 2
11 1
12 1
13 2
14 2
15 1
16 1
17 3
18 2
19 3
20 1

检查 df1 的结构 −

示例

str(df1)

输出

'data.frame': 20 obs. of 1 variable:
$ x: chr "2" "2" "2" "1" ...

将 df1 的列的数据类型转换为数值数据类型 −

示例

df1<−as.data.frame(sapply(df1,as.numeric))
str(df1)

输出

'data.frame': 20 obs. of 1 variable:
$ x: num 2 2 2 1 2 3 1 2 2 2 ...

示例 2

 实时演示

y1<−sample(c("254","324","220","301"),20,replace=TRUE)
df2<−data.frame(y1)
df2

输出

   y1
1  324
2  254
3  220
4  254
5  220
6  220
7  324
8  254
9  324
10 220
11 324
12 324
13 301
14 324
15 220
16 301
17 301
18 324
19 301
20 254

示例

str(df2)

输出

'data.frame': 20 obs. of 1 variable:
$ y1: chr "324" "254" "220" "254" ...

示例

df2<−as.data.frame(sapply(df2,as.numeric))
str(df2)

输出

'data.frame': 20 obs. of 1 variable:
$ y1: num 324 254 220 254 220 220 324 254 324 220 ...

更新于: 2021 年 2 月 5 日

2K+ 浏览

开启您的 职业生涯

完成课程获得认证

开始
广告