do.call(rbind, lapply(seq_along(v1), function(i) data.frame(x = v1[i], y = v1[-i])))
ИЛИ
do.call(rbind, lapply(seq_along(v1), function(i){
do.call(rbind, lapply(seq_along(v1)[-i], function(j){
c(v1[i], v1[j])
}))
}))
ИЛИ
d = expand.grid(replicate(2, v1, simplify = FALSE))
d[d$Var1 != d$Var2,]