从两个列矩阵中选择一个元素或其他元素的排列

时间:2016-05-19 18:31:16

标签: r

我们假设我们对实验的潜在结果有一个假设的完整时间表。

guess = int(input("Take a guess: "))

if guess > 100:
    print ('That is an error please enter a number between 1 and 100')

if guess < 1:
    print ('That is an error please enter a number between 1 and 100'

我想列出从Y1中选择两个元素以及从Y0中选择剩余5个元素的所有方法。理想情况下,这看起来像一个包含21个列表的数组,每个列表有两个标记为Y0的元素和两个标记为Y1的元素。

修改:这些是匹配的对,因此选择guess = None while guess not in range(1,101): guess = int(raw_input("Enter a number between 1 and 100:")) 可以不考虑Y0<-c(10,15,20,20,10,15,15) Y1<-c(15,15,30,15,20,15,30) budgets<-matrix(data=c(Y0,Y1),nrow=7,ncol=2)

提前致谢!我认为有很多方法可以解决这个问题(sapply?),但我会很感激有关细节的帮助。

2 个答案:

答案 0 :(得分:1)

这是一个更长的方法,可能有一个更紧凑的解决方案:

d = {'a':l[0:3],'b':l[3:6]}

答案 1 :(得分:0)

要从Y1中获取2个元素的所有组合,并从Y0中获取剩余的5个元素,并且只从每个位置选择一个元素,请尝试以下代码:

cb <- as.data.frame(combn(1:7, 2))
sapply(cb, FUN = function(x) c(Y1[x], Y0[-x]))

上一篇:如果你想在Y1中选择2从7中选择2并在Y0中从7中选择5,那么总组合数将是21 * 21