Llame a la función de aplicación en cada fila del marco de datos con múltiples argumentos de cada fila

Tengo un marco de datos con varias columnas. Para cada fila en el marco de datos, quiero llamar a una función en la fila, y la entrada de la función está utilizando varias columnas de esa fila. Por ejemplo, digamos que tengo estos datos y este testFunc que acepta dos argumentos:

> 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

Digamos que quiero aplicar este testFunc a las columnas x y z. Entonces, para la fila 1 quiero 1 + 5, y para la fila 2 quiero 2 + 6. ¿Hay alguna forma de hacer esto sin escribir un bucle for, tal vez con la familia de funciones de aplicación?

Intenté esto:

> 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

Pero tiene error, ¿alguna idea?

EDITAR: La función real a la que quiero llamar no es una suma simple, sino que es power.t.test. Utilicé a + b solo para propósitos de ejemplo. El objetivo final es poder hacer algo como esto (escrito en pseudocódigo):

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
))

donde el resultado es un vector de salidas para power.t.test para cada fila de df.

Respuestas a la pregunta(12)

Su respuesta a la pregunta