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

如何用dplyr语法去除数据框列表列重复项并转为字符列

解决方案

首先重现你的数据框:

library(dplyr)
library(purrr)

df <- structure(list(class = c("Großbrittanien", "Rest Europa"), countries = list(
    c("United Kingdom", "United Kingdom"), "Spain")), row.names = c(NA, 
-2L), class = c("tbl_df", "tbl", "data.frame"))

使用dplyr结合purrr的语法,可一步完成列表列去重并转为字符列的操作:

df_cleaned <- df %>%
  mutate(countries = map_chr(countries, ~ paste(unique(.x), collapse = ", ")))

代码说明

  • map_chr():遍历countries列表列的每一个元素,处理后返回字符类型向量,直接将列表列转换为字符列
  • unique(.x):对每个列表内的元素去重,移除重复的"United Kingdom"条目
  • paste(..., collapse = ", "):把去重后的向量合并成单个字符串(如果列表内有多个不同国家,会用逗号分隔)

处理后的结果如下:

# A tibble: 2 × 2
  class           countries      
  <chr>           <chr>          
1 Großbrittanien  United Kingdom 
2 Rest Europa     Spain          

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:39:34