成对组合向量的元素

GOG*_*OGA 3 r list vector

我的数据框:

df <- structure(list(g1 = 1:12, g2 = c(3L, 4L, 5L, 6L, 7L, 8L, 9L, 
10L, 11L, 12L, 13L, 67L)), class = "data.frame", row.names = c(NA, 
-12L))
Run Code Online (Sandbox Code Playgroud)

我想合并我的数据框的 2 列并获取向量列表

我想得到什么:

list(c("1","3"),c("2","4"),c("3","5"),c("4","6"),c("5","7"),c("6","8"),c("7","9")c("8","10"),c("9","11"),c("10","12"),c("11","13"),c("12","67"))
Run Code Online (Sandbox Code Playgroud)

我试过的:

mark.list <- list()
for(i in 1:length(bact$group1)){
  x <- bact$group1[i]
  y <- bact$group2[i]
  df <- combn(paste(x,y))
  mark.list <- c(mark.list,df)
}
Run Code Online (Sandbox Code Playgroud)

Tho*_*ing 5

另一个基本的 R 选项

> unclass(data.frame(t(df)))
$X1
[1] 1 3

$X2
[1] 2 4

$X3
[1] 3 5

$X4
[1] 4 6

$X5
[1] 5 7

$X6
[1] 6 8

$X7
[1] 7 9

$X8
[1]  8 10

$X9
[1]  9 11

$X10
[1] 10 12

$X11
[1] 11 13

$X12
[1] 12 67

attr(,"row.names")
[1] "g1" "g2"
Run Code Online (Sandbox Code Playgroud)

如果你想有字符输出,你可以尝试

> strsplit(do.call(paste, df), " ")
[[1]]
[1] "1" "3"

[[2]]
[1] "2" "4"

[[3]]
[1] "3" "5"

[[4]]
[1] "4" "6"

[[5]]
[1] "5" "7"

[[6]]
[1] "6" "8"

[[7]]
[1] "7" "9"

[[8]]
[1] "8"  "10"

[[9]]
[1] "9"  "11"

[[10]]
[1] "10" "12"

[[11]]
[1] "11" "13"

[[12]]
[1] "12" "67"
Run Code Online (Sandbox Code Playgroud)