これは1つの方法です。
#Example 1
k <- 5
m <- 2
j <- 1
y <- expand.grid(rep(list(0L:1L), k))
zeros <- apply(y,1,function(x) sum(x == 0))
chg <- apply(y,1,function(x) sum(diff(sign(x)) != 0))
y[zeros==m&chg==j,]
Var1 Var2 Var3 Var4 Var5
8 1 1 1 0 0
29 0 0 1 1 1
#Example 2
k <- 5
m <- 2
j <- 3
y <- expand.grid(rep(list(0L:1L), k))
zeros <- apply(y,1,function(x) sum(x == 0))
chg <- apply(y,1,function(x) sum(diff(sign(x)) != 0))
y[zeros==m&chg==j,]
Var1 Var2 Var3 Var4 Var5
12 1 1 0 1 0
14 1 0 1 1 0
23 0 1 1 0 1
27 0 1 0 1 1
#Example 3
k <- 5
m <- 2
j <- 4
y <- expand.grid(rep(list(0L:1L), k))
zeros <- apply(y,1,function(x) sum(x == 0))
chg <- apply(y,1,function(x) sum(diff(sign(x)) != 0))
y[zeros==m&chg==j,]
Var1 Var2 Var3 Var4 Var5
22 1 0 1 0 1