Próbuję uniknąć używania pętli, używając apply
do zastosowania funkcji zdefiniowanej przez użytkownika do macierzy. Problem polega na tym, że istnieją dodatkowe parametry, których używa moja funkcja i które różnią się dla każdej kolumny macierzy. Poniżej znajduje się przykład zabawki.Używanie "apply" do zastosowania funkcji do macierzy, w której parametry są specyficzne dla kolumny
że mam następującą funkcję:
foo <- function(x, a, b, c) return((a*x + b)^c)
i chcę, aby zastosować go do matrycy bar
używając różnych wartości a
, b
i c
dla każdej kolumny.
bar <- matrix(1:15, ncol = 3)
a <- 4:6
b <- 3:1
c <- 1:3
W tym przypadku, w pierwszej kolumnie, po czym a=4
bar
, b=3
i c=1
. Próbowałem tego, ale jest to oczywiście niepoprawne, ponieważ każda kolumna używa kolejno wszystkich parametrów przed zawinięciem do pierwszego parametru ponownie. Jakieś sugestie?
Zamiast 'split' możesz użyć również' as.data.frame'. – nicola
@nicola Tak, myślałem, aby zachować go w 'macierzy' – akrun
Już wcześniej awansowałem, a teraz chciałbym mieć możliwość dodawania głosów za wyjątkowo elegancką edycję. –