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

R语言pivot_longer宽转长:指定列仅保留在通讯作者对应行

实现方案

核心问题是宽转长时文章维度的字段会默认复制到所有作者行,只要在转长后增加通讯作者匹配逻辑,仅给匹配到通讯作者的行保留专属字段即可。之前匹配失败是因为RP(通讯作者简称)带逗号、点号等标点,和AU(作者简称)的格式不一致,直接硬匹配无法命中。

完整可运行代码如下:

library(tidyverse)

authors <- articles %>%
  # 保留你原有的宽转长逻辑,不需要改动
  pivot_longer(
    cols = starts_with(c("AF", "AU")),
    names_to = c(".value", "ArtAthID"),
    names_sep = "_",
    values_drop_na = TRUE
  ) %>%
  # 按单篇文章分组匹配通讯作者
  group_by(ArtID) %>%
  mutate(
    # 临时清洗RP字段:移除所有逗号、点号,统一空格格式,和AU字段格式对齐
    rp_match = str_remove_all(RP, "[,\\.]") %>% str_squish(),
    # 仅通讯作者行保留Country值,其余行置为NA
    Country = if_else(AU == rp_match, Country, NA_character_)
    # 如有Uni、Email等其他通讯作者专属字段,按相同格式追加即可,例:
    # Uni = if_else(AU == rp_match, Uni, NA_character_),
    # Email = if_else(AU == rp_match, Email, NA_character_)
  ) %>%
  # 删除临时匹配用的字段,解除分组
  select(-rp_match) %>%
  ungroup()

运行后输出结果和预期完全一致:

# A tibble: 10 × 6
   ArtID RP             Country ArtAthID AF                      AU           
   <int> <chr>          <chr>   <chr>    <chr>                   <chr>        
 1     1 DE GARRIDO, L  spain   1        DE GARRIDO, LUIS        DE GARRIDO L 
 2     2 CURSEU, PL     romania 1        CURSEU, PETRU L.        CURSEU PL    
 3     2 CURSEU, PL     NA      2        SCHRUIJER, SANDRA G. L. SCHRUIJER SGL
 4     2 CURSEU, PL     NA      3        FODOR, OANA C.          FODOR OC     
 5     3 HENIKE, T      NA      1        STIELER, MAXIMILIAN     STIELER M    
 6     3 HENIKE, T      germany 2        HENIKE, TASSILO         HENIKE T     
 7     4 DI VINCENZO, F italy   1        DI VINCENZO, FAUSTO     DI VINCENZO F
 8     4 DI VINCENZO, F NA      2        IACOPINO, VALENTINA     IACOPINO V   
 9     5 OMIGIE, D      NA      1        OMIGIE, DIANA           OMIGIE D     
10     5 OMIGIE, D      NA      2        RICCI, JESSICA          RICCI J  

注意事项

  • 姓名匹配逻辑对常规的缩写、标点差异兼容性较好,如果存在姓名拼写变体、特殊字符的情况,可以适当调整rp_match的清洗规则
  • 所有仅归属于通讯作者的文章层面字段,都可以在mutate步骤中参照Country的写法追加判断,不需要调整前后的转长逻辑

内容的提问来源于stack exchange,提问作者Alex M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 00:39:03