使用 R 进行数据清理:使用 str_remove() 函数

Data cleaning using R : use str_remove() function

我在使用 R 清理数据时遇到问题。我的数据框如下所示; enter image description here

我需要清理 new_sub_weather$HOURLYPrecip 列 1:将 'T' 值更改为“0.0” 2:删除后面有's'的数据值,比如'0.02s'

我的编码是这样的;

new_sub_weather['HOURLYPrecip'][new_sub_weather['HOURLYPrecip'] == 'T'] <- '0.0'
str_remove(new_sub_weather$HOURLYPrecip, "s$")
unique(new_sub_weather$HOURLYPrecip) 

但我没能删除字符 's'。

您可以使用 readr::parse_number,它会自动从 "0.02s" 中删除 "s",并将值转换为数字。

new_sub_weather$HOURLYPrecip[new_sub_weather$HOURLYPrecip == "T"] <- 0
new_sub_weather$HOURLYPrecip <- readr::parse_number(new_sub_weather$HOURLYPrecip)

例如-

x <- c(0, 12.1, '1.2s', '0.0', '0.02s')
readr::parse_number(x)
#[1]  0.00 12.10  1.20  0.00  0.02

使用 str_replace:

将“T”替换为“0.0”,将“s”替换为“”
a <- c(0.00, 0.06, "T", "0.02s")

stringr::str_replace(a, c("T","s"), c("0.0",""))
#> [1] "0"    "0.06" "0.0"  "0.02"

遇到了同样的问题,经过数小时甜蜜而痛苦的研究,得出了这个,试试看,如果有帮助请告诉我。

    new_sub_weather["HOURLYPrecip"][new_sub_weather["HOURLYPrecip"] == "T"] <- "0.0"

    new_sub_weather$HOURLYPrecip <- str_replace(new_sub_weather$HOURLYPrecip, "s$", "")

    unique(new_sub_weather$HOURLYPrecip)