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

如何在R中为重复临床医生分配唯一字母以匿名化数据集

R中为重复医生姓名分配唯一字母ID的方法

以下是两种实现需求的方法,均能让同一医生姓名对应相同的字母:

基础R原生实现

利用因子的编码特性,直接将唯一姓名映射到字母:

DF$letter <- letters[as.factor(DF$ProviderID)]

运行后,DF会新增letter列,其中首次出现的Harry Potter对应a,Hermione Granger对应b,Ron Weasley对应c,重复出现的姓名会沿用已分配的字母。

tidyverse(dplyr)实现

如果习惯使用tidyverse生态的语法,可通过分组分配组ID来实现:

library(dplyr)
DF <- DF %>%
  group_by(ProviderID) %>%
  mutate(letter = letters[cur_group_id()]) %>%
  ungroup()

group_by(ProviderID)按医生姓名分组,cur_group_id()为每个组生成唯一编号,再通过letters向量映射为对应字母。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:33:11