【发布时间】:2017-05-31 21:40:31
【问题描述】:
我有一个包含 +200,000 行的数据框,并在其中一列(总共 18 列)中将字母转换为数字。
Extract 是我的 df,有问题的列是 Route_IATA。我的代码是
extract$Route_IATA <- lapply
(extract$Route_IATA, function(x) gsubfn('(.)', as.list(v1), toupper(as.character(x))))
system.time 返回 143 秒,这不仅速度慢,而且添加更多记录会变得更糟。我的问题是:R 中还有其他选项可以加快这个过程吗?
【问题讨论】:
-
也许我错过了什么,但你为什么不能
extract$Route_IATA <- as.numeric(extract$Route_IATA)? -
您可能还想在示例开头添加调用
library(gsubfn)以表明您正在使用它,并告诉我们v1是什么 -
谢谢,但该值的构建方式类似于 AA1234,其中 AA 代表任何字母/数字组合,而 1234 是数字。所以想法是将AA1234改为111234。确实包括library(gsubfn)。
标签: r optimization dataframe