I in R verwenden expand.grid wollen, aber es haben sich über zwei im Voraus festgelegten Vektoren arbeiten und einer beliebigen verbleibenden Menge:erweitern Gitter für eine beliebige Anzahl von Vektoren in R
Beispiel zwei Vektoren d und w, und 3 Vektoren der Länge 4:
M = expand.grid(d = 1:3, w = 1:3, rep(list(1:4),(3)))
das Problem ist, dass es denkt, dass das letzte, was ein Objekt ist, und ich möchte es Var3, Var4 und Var5 haben. Stattdessen erhalten wir:
M
d w Var3
1 1 1 1, 2, 3, 4
2 2 1 1, 2, 3, 4
3 3 1 1, 2, 3, 4
4 1 2 1, 2, 3, 4
5 2 2 1, 2, 3, 4
6 3 2 1, 2, 3, 4
7 1 3 1, 2, 3, 4
Interessanterweise, wenn ich es ohne die ersten beiden Vektoren alleine tun, kann es expandgrid:
M = expand.grid(rep(list(1:4),(3)))
Var1 Var2 Var3
1 1 1 1
2 2 1 1
3 3 1 1
4 4 1 1
5 1 2 1
6 2 2 1
7 3 2 1
...
Warum setzen Sie d und w in separate Listen? – AlexR
@AlexR Guter Punkt. Ich muss nicht. Aber das wird das Ergebnis nicht beeinflussen. – Psidom