假设数据框为 df,X 列为 col_X,新列为 new_col,可以使用如下代码实现:

library(tidyverse)

df <- df %>%
  mutate(new_col = str_extract_all(col_X, '\d+~\d+|\d+·\d+—\d+\d+')) %>%
  # 将新列中的数字范围用逗号连接
  mutate(new_col = str_c(new_col, collapse = ','))

其中,str_extract_all 函数用于提取数字范围,正则表达式中的 \d+~\d+ 匹配以 ~ 分隔的数字范围,\d+·\d+—\d+\d+ 匹配以 ·— 分隔的数字范围。最后,使用 str_c 函数将多个数字范围用逗号连接成一个字符串。

R语言 tidyverse 提取“万株”前数字范围并追加新列

原文地址: http://www.cveoy.top/t/topic/nOho 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录