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

R语言中获取政客最新学术头衔并统计其出现频次

解决方法

你的问题出在排序逻辑上——之前的代码是按academic_title排序,这和任期的新旧完全无关,所以取到的是每个政客名下按头衔排序后的第一条,自然不是最新状态。要获取最新头衔,核心是按任期(electoral_terms)的先后排序,保留每个政客最新任期对应的记录。

方案一:排序后去重

先按政客ID(ui)分组,再按任期降序排列(最新任期排最前面),然后对每个ui只保留第一条记录:

Stammdaten_academic <- Stammdaten |>
  arrange(ui, desc(electoral_terms)) |>
  distinct(ui, .keep_all = TRUE)

方案二:直接取每组最大任期记录

用slice_max更直观,不需要提前排序,直接对每个政客组取任期最大的那一行:

Stammdaten_academic <- Stammdaten |>
  group_by(ui) |>
  slice_max(electoral_terms, n = 1, with_ties = FALSE) |>
  ungroup()

注:如果有政客在同一任期内有多个不同头衔(with_ties=TRUE的情况),可以根据需求调整这个参数,或者再加一个排序条件(比如头衔更新时间)来处理。

统计头衔种类及频次

拿到每个政客的最新头衔后,用count函数统计即可:

title_stat <- Stammdaten_academic |>
  count(academic_title, sort = TRUE)

执行后title_stat会按频次从高到低展示所有学术头衔的种类和对应数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 06:50:18