【发布时间】:2021-12-27 08:28:40
【问题描述】:
我有一个数据框,其中所有列都有字符类。我想自动将每一列的类转换为最适合数据的类。
考虑以下示例数据:
data <- data.frame(x1 = letters[1:5],
x2 = as.character(1:5),
x3 = as.character(seq(0.2, 1, 0.2)))
data
x1 x2 x3
1 a 1 0.2
2 b 2 0.4
3 c 3 0.6
4 d 4 0.8
5 e 5 1
我们示例数据中的所有列都有字符类:
sapply(data, class)
# x1 x2 x3
# "character" "character" "character"
我可以手动将每一列转换为所需的类。但是,对于大型数据集,这可能效率不高。
有没有办法自动扫描每一列中的值,并将对应的列转换为更好的类?
在此示例中,x2 列包含整数,x3 列包含数字。因此,所需的类看起来像这样:
sapply(data, class)
# x1 x2 x3
# "character" "integer" "numeric"
【问题讨论】:
标签: r class type-conversion data-manipulation