Próbuję losowo próbkować 7 liczb od 0 do 7 (z zamianą), ale z zastrzeżeniem, że wybrane liczby sumują się do 7. Tak na przykład, wyjście 0 1 1 2 3 0 0 jest w porządku, ale wynik 1 2 3 4 5 6 7 nie jest. Czy istnieje sposób użycia przykładowego polecenia z dodanymi ograniczeniami?R: Komenda sample() podlegająca ograniczeniu
Zamierzam użyć funkcji replicate() z poleceniem sample jako argumentem, aby zwrócić listę N różnych wektorów z przykładowego polecenia. Sposób, w jaki aktualnie używam przykładowego polecenia (bez żadnych ograniczeń), wymaga, aby N był bardzo duży, aby uzyskać jak najwięcej możliwych wektorów, które sumują się do dokładnie 7, jak to możliwe. Sądzę, że musi być łatwiejszy sposób na zrobienie tego!
Oto mój kod dla tej strony:
x <- replicate(100000, sample(0:7, 7, replace=T))
Idealnie chcę 10000 100000 lub wektory w X podsumować do 7, ale musiałby ogromną wartość N, aby to zrobić. Dzięki za pomoc.
To jest dokładnie to, co zrobiłem pierwotnie. Wziąłem podzbiór tej zmiennej x, ale przy N = 100000 podzbiór był nadal bardzo mały. Ten podzbiór jest nawet bardzo mały z N = 1000000, nie wspominając już o tym, że trwa to trochę dłużej! –
Może być konieczne użycie kombinacji **, jeśli ** chcesz uzyskać jednolitą próbkę ze zbioru wszystkich możliwych kombinacji ... – Spacedman
'partycje :: partycje (7)' daje wszystkie partycje (sposoby rozbicia liczby całkowitej na suma), która może być składnikiem odpowiedzi ... –