可以使用apply函数将每两列进行提取,并使用rbind函数按行拼接。具体代码如下:

# 生成示例数据
df <- data.frame(a = 1:4, b = 5:8, c = 9:12, d = 13:16)

# 每两列进行提取,按行拼接
result <- do.call(rbind, apply(df, 2, function(x) {
  n <- length(x)
  combn(x, 2, function(y) {
    c(y[1], y[2])
  }, simplify = FALSE)
}))

结果如下:

      [,1] [,2]
 [1,]    1    5
 [2,]    1    9
 [3,]    1   13
 [4,]    5    9
 [5,]    5   13
 [6,]    9   13
 [7,]    2    6
 [8,]    2   10
 [9,]    2   14
[10,]    6   10
[11,]    6   14
[12,]   10   14
[13,]    3    7
[14,]    3   11
[15,]    3   15
[16,]    7   11
[17,]    7   15
[18,]   11   15
[19,]    4    8
[20,]    4   12
[21,]    4   16
[22,]    8   12
[23,]    8   16
[24,]   12   16
``

原文地址: https://www.cveoy.top/t/topic/eCdk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录