假设数据框为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函数将多个数字范围用逗号连接成一个字符串。

利用tidyverse提取X列万株前的数字范围数字之间可能有~或·—若存在多个范围则以逗号隔开追加到新列

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

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