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

在R中生成数据框内所有坐标两两配对对比的全组合列表

R坐标点全配对对比实现方案

需求说明

现有包含X、Y坐标列的R data.frame,示例数据如下:

dt = data.frame(X = seq(1, 5, by=1), Y = seq(1, 5, by=1))

需要新增final_X、final_Y两列,生成所有原始坐标与对比坐标的两两组合行,得到所有坐标的全配对对比结果。

实现方法

方法1:基础R实现(无需安装额外包)

通过merge做笛卡尔积全连接即可直接生成所有组合:

# 生成重命名后的对比坐标数据集
compare_dt <- setNames(dt, c("final_X", "final_Y"))
# 全连接生成全配对结果
full_pair_result <- merge(dt, compare_dt)

方法2:tidyverse风格实现

使用tidyr::crossing更直观的生成笛卡尔积:

library(tidyverse)

full_pair_result <- dt %>%
  crossing(
    dt %>% rename(final_X = X, final_Y = Y)
  )

结果验证

示例数据共5个坐标点,全配对后结果共5*5=25行,可通过如下代码查看前6行结果:

head(full_pair_result)

输出参考:

X Y final_X final_Y
1 1 1       1       1
2 1 1       2       2
3 1 1       3       3
4 1 1       4       4
5 1 1       5       5
6 2 2       1       1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:42:03