如何在 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 ...
广告