You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中如何将data frame中的短形式缩写替换为对应完整拼写

R中-e/i模式缩写批量替换方案

以下是两类常见需求的实现方法,可根据实际使用场景选择:

前置准备

先构造示例数据框方便测试,可直接替换为自己的实际数据:

# 示例数据框
df <- data.frame(
  id = 1:2,
  abbr_col = c("Ann-e/i", "Matt-e/i")
)

场景1:替换为两个完整名称拼接的单个字符串

适合不需要拆分记录,仅把缩写替换为完整说明的场景:

tidyverse实现

library(dplyr)
library(stringr)

df_result <- df %>%
  # 仅匹配Ann、Matt前缀的-e/i规则,避免误改其他内容
  mutate(full_col = str_replace(abbr_col, "(Ann|Matt)-e/i", "\\1e、\\1i"))

base R实现

df$full_col <- gsub("(Ann|Matt)-e/i", "\\1e、\\1i", df$abbr_col)

场景2:将缩写展开为两条独立记录

适合需要每个完整名称对应单独一行的分析场景:

library(dplyr)
library(stringr)
library(tidyr)

df_expanded <- df %>%
  filter(str_detect(abbr_col, "(Ann|Matt)-e/i")) %>%
  mutate(
    prefix = str_extract(abbr_col, "(Ann|Matt)"),
    suffix = c("e", "i")
  ) %>%
  unnest(suffix) %>%
  mutate(full_name = paste0(prefix, suffix))

如果有更多前缀需要匹配,只需要把正则里的(Ann|Matt)扩展为(Ann|Matt|自定义前缀1|自定义前缀2)的格式即可,规则完全通用。

内容的提问来源于stack exchange,提问作者Anna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 11:15:03