Tło: Mam funkcję, która pobiera pewne parametry. Chcę uzyskać wynik funkcji dla wszystkich możliwych kombinacji parametrów.W R, w jaki sposób uzyskać wszystkie możliwe kombinacje wartości niektórych wektorów?
Uproszczony przykład:
f <- function(x, y) { return paste(x, y, sep=",")}
colors = c("red", "green", "blue")
days = c("Monday", "Tuesday")
chcę mój wynik wyglądać
color day f
[1,] "red" "Monday" "red,Monday"
[2,] "red" "Tuesday" "red,Tuesday"
[3,] "green" "Monday" "green,Monday"
[4,] "green" "Tuesday" "green,Tuesday"
[5,] "blue" "Monday" "blue,Monday"
[6,] "blue" "Tuesday" "blue,Tuesday"
moim pomysłem jest stworzenie macierzy z kolumnami color
i day
, wypełnić go przy użyciu istniejących wektorów colors
i days
, zainicjuj pustą kolumnę dla wyników, a następnie użyj pętli, aby wywołać f raz na wiersz macierzy i zapisz wynik do ostatniej kolumny. Ale nie wiem, jak łatwo wygenerować matrycę z wektora colors
i days
. Próbowałem go szukać, ale wszystkie wyniki otrzymałem dla funkcji combn
, która robi coś innego.
W tym uproszczonym przypadku, colors
i days
są czynnikami, ale w moim prawdziwym przykładzie tak nie jest. Niektóre parametry funkcji są liczbami całkowitymi, więc mój prawdziwy wektor może wyglądać bardziej jak 1, 2, 3
, a funkcja będzie wymagać, aby została przekazana jako numeryczna. Więc proszę nie zadowalajcie się rozwiązaniami, które opierają się na poziomach czynników, jeśli nie mogą być w jakiś sposób wykorzystane do pracy z liczbami całkowitymi.
Related: http://stackoverflow.com/questions/3993546/how-to-generate-a-matrix-of-connections –
możliwy duplikat [Znajdowanie wszystkich możliwych kombinacji trzech ciągów znaków] (http://stackoverflow.com/questions/6254533/finding-all-possible-combinations z trzech strun) –