У меня есть простой случай, который я мог бы решить безобразно, но я уверен, что должен существовать гораздо более умный (и более быстрый) способ.
Давайте возьмем этот вектор
d <- 1:6
Я хочу перечислить все возможные комбинации «в будущем»:
1 2
1 3
1 4
1 5
1 6
2 3
2 4
2 5
...
5 6
Первый способ, с помощью которого я мог бы прийти, следующий:
n <- 6
combDF <- data.frame()
for( i in 1:(n-1)){
thisVal <- rep(i,n-i)
nextVal <- cumsum(rep(1,n-1)) + 1
nextVal <- nextVal[nextVal > i]
print("---")
print(thisVal)
print(nextVal[nextVal > i])
df <- data.frame(thisVal = thisVal, nextVal = nextVal)
combDF <- rbind(combDF, df)
}
Я уверен, что должен быть более умный способ сделать это.