Wywołaj funkcję podobną do zastosowania w każdym wierszu ramki danych z wieloma argumentami z każdego wiersza

Mam ramkę danych z wieloma kolumnami. Dla każdego wiersza w ramce danych chcę wywołać funkcję w wierszu, a wejście funkcji używa wielu kolumn z tego wiersza. Załóżmy na przykład, że mam te dane i ten testFunc, który akceptuje dwa argumenty:

> df <- data.frame(x=c(1,2), y=c(3,4), z=c(5,6))
> df
  x y z
1 1 3 5
2 2 4 6
> testFunc <- function(a, b) a + b

Powiedzmy, że chcę zastosować ten testFunc do kolumn x i z. Tak więc dla wiersza 1 chcę 1 + 5, a dla wiersza 2 chcę 2 + 6. Czy istnieje sposób, aby to zrobić bez zapisywania pętli for, może z rodziną funkcji stosowania?

Próbowałem tego:

> df[,c('x','z')]
  x z
1 1 5
2 2 6
> lapply(df[,c('x','z')], testFunc)
Error in a + b : 'b' is missing

Ale masz błąd, jakieś pomysły?

EDYTOWAĆ: rzeczywista funkcja, którą chcę wywołać, nie jest sumą prostą, ale jest to power.t.test. Użyłem a + b tylko na przykład. Ostatecznym celem jest zrobienie czegoś takiego (napisanego w pseudokodzie):

df = data.frame(
    delta=c(delta_values), 
    power=c(power_values), 
    sig.level=c(sig.level_values)
)

lapply(df, power.t.test(delta_from_each_row_of_df, 
                        power_from_each_row_of_df, 
                        sig.level_from_each_row_of_df
))

gdzie wynik jest wektorem wyjść dla power.t.test dla każdego wiersza df.

questionAnswers(12)

yourAnswerToTheQuestion