如何将值从xx mm更改为xx in R?

dced5bon  于 2023-02-10  发布在  其他
关注(0)|答案(1)|浏览(158)

我正在处理一个关于天气的数据集,其中一行包含以毫米为单位的降雨量。问题是它没有以相同的格式记录,所以虽然有些行只包含数字,但有些行包含数字和“毫米”。

Date         Rain
1 2014-12-08         10mm
2 2014-12-09         3
3 2014-12-10         5mm
4 2014-12-11         0
5 2014-12-12        11

有没有办法删除“mm”部分,这样我就只保留数字了?
理想情况下,它应该如下所示:

Date         Rain
1 2014-12-08         10
2 2014-12-09         3
3 2014-12-10         5
4 2014-12-11         0
5 2014-12-12        11

我现在知道的唯一方法就是一次一个数字,比如:天气数据[天气数据==“10 mm”]〈-10 ;天气数据[天气数据==“5 mm”]〈-5 ;等等,但由于它是一个非常大的数据集包含几年,这将需要大量的时间,并希望找到一个更容易和更快的方法。

ecr0jaav

ecr0jaav1#

我们可以使用parse_number来提取数字并转换为numeric类

library(dplyr)
library(readr)
df1 <- df1 %>%
   mutate(Rain = parse_number(Rain))

或者使用regex选项删除“mm”并转换为数值

library(stringr)
df1 <- df1 %>%
     mutate(Rain = as.numeric(str_remove(Rain, "mm")))

相关问题