R: a partir de um vetor, liste todos os subconjuntos de elementos para que sua soma passe apenas um valor

Desculpe antecipadamente se a resposta (1) é trivial; ou (2) por aí, mas não consegui resolver esse problema ou encontrar e responder on-line. Qualquer ponteiro será muito apreciado!

Preciso de um pedaço de código que possa executar um vetor e retornar todos os subconjuntos possíveis de elementos cuja soma cumulativa passa um valor limite.

Observe que não quero apenas os subconjuntos que me dão exatamente o limite. A soma cumulativa pode estar acima do limite, desde que o algoritmo pare de adicionar um elemento extra se o valor já tiver sido alcançado.

# A tiny example of the kind of input data. 
# However, note that efficiency is an issue 
# (I need to replicate the example in a large dataset)
v <- seq(1, 3) # My vector
threshold <- 3 # My threshold value

# I would like to get a list with the combinations
# 1 2 
# 1 3
# 2 3
# 3 

Este trecho de código funciona, mas é a solução mais difícil do mundo ...

for (i in 1: length(v)){
  thisvalue <- v[i]
  if (thisvalue >=threshold) { 
    cat (v[i], "\n",sep="\t") 
  } else {
    for (j in (i+1): length(v)){
      thisvalue <- v[i]+v[j]
      if (thisvalue >=threshold) { 
        cat (c(v[i], v[j]), "\n",sep="\t")
      } else {
        for (k in (i+2): length(v)){
          thisvalue <- v[i]+v[j]+v[k]
          if (thisvalue >=threshold) { 
            cat(c(v[i],v[j],v[k]),"\n",sep="\t")
        }
        }
      }
    }
  }
}

questionAnswers(2)

yourAnswerToTheQuestion