¿Cómo realizo una función en cada fila de un marco de datos y tengo solo un elemento de la salida insertado como una nueva columna en esa fila?

Es fácil hacer una Prueba binomial exacta en dos valores, pero qué sucede si uno quiere hacer la prueba en una gran cantidad de éxitos y número de pruebas. Creé un marco de datos de sensibilidades de prueba, número potencial de inscriptos en un estudio y luego, para cada fila, calculo qué éxitos podrían ser. Aquí está el código.

sens <-seq(from=.1, to=.5, by=0.05)
enroll <-seq(from=20, to=200, by=20)
df <-expand.grid(sens=sens,enroll=enroll)
df <-transform(df,succes=sens*enroll)

Pero ahora, ¿cómo uso la combinación de éxitos de cada fila y el número de ensayos para hacer la prueba binomial.

Solo estoy interesado en el límite superior del intervalo de confianza del 95% de la prueba binomial. Quiero que ese único número se agregue al marco de datos como una columna llamada "upper.limit"

Pensé en algo en la línea de

binom.test(succes,enroll)$conf.int    

Por desgracia, conf.int da algo como

[1] 0.1266556 0.2918427
attr (, "conf.level")
[1] 0,95

Todo lo que quiero es solo 0.2918427

Además, tengo la sensación de que tiene que haber do.call allí en algún lugar y tal vez incluso una falla, pero no sé cómo pasará todo el marco de datos. ¿O quizás debería estar usando plyr?

Claramente mi cabeza está girando. Por favor haz que pare.

Respuestas a la pregunta(2)

Su respuesta a la pregunta