如何使用 stringr 库删除列中的部分字符串值?
How to remove part of string value in column using stringr library?
我有一个包含列的数据框:
value-1245
value-4578
value-9976
我想从中删除“value-”并将其转换为数字。所以期望的结果是:
1245
4578
9976
怎么做?我尝试了 str_replace(column1, "value-", "")
但它不起作用。
您可以使用 str_remove
,它是 str_replace
的快捷方式,带有空替换 (""
)
as.numeric(stringr::str_remove(df$column1, "value-"))
或以 R 为基数 -
as.numeric(sub("value-", "", df$column1))
我们可以在 base R
中使用 trimws
as.numeric(trimws(df$column1, whitespace = "value-"))
或 readr::parse_number
readr::parse_number(df$column1)
我们可以使用 tidyr
包中的 extract_numeric
函数并结合 abs
删除减号:
library(tidyr)
df %>%
mutate(column1 = abs(extract_numeric(column1)))
输出:
column1
1 1245
2 4578
3 9976
数据:
df <- data.frame(column1 = c("value-1245", "value-4578","value-9976"))
我有一个包含列的数据框:
value-1245
value-4578
value-9976
我想从中删除“value-”并将其转换为数字。所以期望的结果是:
1245
4578
9976
怎么做?我尝试了 str_replace(column1, "value-", "")
但它不起作用。
您可以使用 str_remove
,它是 str_replace
的快捷方式,带有空替换 (""
)
as.numeric(stringr::str_remove(df$column1, "value-"))
或以 R 为基数 -
as.numeric(sub("value-", "", df$column1))
我们可以在 base R
trimws
as.numeric(trimws(df$column1, whitespace = "value-"))
或 readr::parse_number
readr::parse_number(df$column1)
我们可以使用 tidyr
包中的 extract_numeric
函数并结合 abs
删除减号:
library(tidyr)
df %>%
mutate(column1 = abs(extract_numeric(column1)))
输出:
column1
1 1245
2 4578
3 9976
数据:
df <- data.frame(column1 = c("value-1245", "value-4578","value-9976"))