如何将字符数据框转换为 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 ...