创建所有向量组合,总计R中的特定数字

时间:2016-07-12 14:53:21

标签: r combn

我正在尝试使用相同向量的两个组合创建一个总和为2300的矩阵。我在R中使用DataSource函数,请参阅下面的代码:

combn

不幸的是,此代码无效。我收到以下错误:

  vector <- 400:1900
  combinations <- combn(vector, 2, function(x) subset(x, sum(x)==2300))

有谁知道我做错了什么? 非常感谢,

只园

1 个答案:

答案 0 :(得分:1)

试试这个:

something

如果你想得到一个矩阵:

combinations <- combn(vector,2,function(x) ifelse(sum(x[1], x[2])==2300, 
list(c(x[1],x[2])), list(c(0,0))))

res <- combinations[lapply(combinations, sum)>0]

head(res)

# [[1]]
# [1]  400 1900

# [[2]]
# [1]  401 1899

# [[3]]
# [1]  402 1898

# [[4]]
# [1]  403 1897

# [[5]]
# [1]  404 1896

# [[6]]
# [1]  405 1895