我有一个包含调查问卷回复的数据框架。提取数字并将其更改为双类型变量的最佳方法是什么?
下面是一个小示例:
a <- ("10.5", "about 30", "25 per month")
tibble(a)
我试过了
parse_double(a)
看起来我很接近了。任何帮助都是感激的
我们需要parse_number
library(readr)
parse_number(a)
[1] 10.5 30.0 25.0
不同之处在于parse_double
只处理数字+.
作为字符的字符向量,而parse_number
从包含非数字字符
a <- c("10.5", "about 30", "25 per month")
我也知道一个解决方案(来自base
包)
a <- c("10.5", "about 30", "25 per month")
as.numeric(gsub("[[:alpha:]]", "", a))
> as.numeric(gsub("[[:alpha:]]", "", a))
[1] 10.5 30.0 25.0
> end_time <- Sys.time()
> end_time - start_time
Time difference of 0.01400113 secs
> start_time <- Sys.time()
> parse_number(a)
[1] 10.5 30.0 25.0
> end_time <- Sys.time()
> end_time - start_time
Time difference of 0.1500092 secs
我的解决方案比Akrun提供的更快。