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

在R语言中基于现有数据框的唯一列值组合创建新数据框

保留DataFrame中所有列的唯一组合(R语言)

你可以通过两种常用方法快速提取DataFrame中所有列的唯一行组合:

方法1:基础R的unique()函数

直接调用unique()函数传入目标DataFrame,它会自动识别所有列的唯一组合并完成去重:

# 原始数据
plot <- data.frame(plot=c("A", "A", "A", "B", "B", "C", "C", "C"), 
                   grid= c(1,1,1,2,2,3,3,3),
                   year1=c(2000,2000,2010,2000,2010,2000,2010,2010),
                   year2=c(2005,2005,2015,2005,2015,2005,2015,2015))

# 提取唯一组合
unique_plot <- unique(plot)

# 查看结果
unique_plot

输出结果:

plot grid year1 year2
1    A    1  2000  2005
3    A    1  2010  2015
4    B    2  2000  2005
5    B    2  2010  2015
6    C    3  2000  2005
7    C    3  2010  2015

方法2:tidyverse的dplyr::distinct()函数

如果习惯使用tidyverse生态,distinct()函数更灵活,默认会保留所有列的唯一组合:

library(dplyr)

# 提取唯一组合
unique_plot <- plot %>% distinct()

# 查看结果
unique_plot

输出与上述方法完全一致。若需针对特定列去重并保留其他列,可指定列名并设置.keep_all = TRUE,但你的场景下直接使用默认参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 15:05:31