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

如何在R中为面板数据集的企业列创建唯一ID变量

R 面板数据投资方唯一ID生成方案

tidyverse 实现(匹配你提到的分组思路)

你提到的group_by+mutate的思路完全可行,搭配cur_group_id()函数即可快速生成连续整数ID:

# 加载依赖包
library(tidyverse)

# 生成investorid列
df <- df %>%
  group_by(investor) %>%
  mutate(investorid = cur_group_id()) %>%
  ungroup()

该方法会按投资方在数据集中首次出现的顺序分配ID,同一投资方的所有记录对应同一个ID值,完全符合你的需求。

更高效的无分组实现

针对大体积数据集,不用分组的方案运行速度更快,结果和上述方法完全一致:

df <- df %>%
  mutate(investorid = as.integer(factor(investor, levels = unique(investor))))

base R 实现(无需加载第三方包)

如果你不想引入tidyverse依赖,用基础函数也可以快速实现:

df$investorid <- as.integer(factor(df$investor, levels = unique(df$investor)))

可选调整

如果需要按照投资方名称的字母/拼音排序生成ID,只需要把上述代码中的unique(investor)替换为sort(unique(investor))即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 00:36:03