Como faço para executar uma função em cada linha de um quadro de dados e ter apenas um elemento da saída inserido como uma nova coluna nessa linha

É fácil fazer um teste binomial exato com dois valores, mas o que acontece se alguém quiser fazer o teste com um grande número de sucessos e número de tentativas. Criei um quadro de dados de sensibilidades de teste, número potencial de inscritos em um estudo e, em cada linha, calculo como podem ser os sucessos. Aqui está o 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)

Mas agora como uso a combinação de sucessos e o número de tentativas de cada linha para fazer o teste binomial.

Estou interessado apenas no limite superior do intervalo de confiança de 95% do teste binomial. Quero que esse número único seja adicionado ao quadro de dados como uma coluna chamada "upper.limit"

Eu pensei em algo ao longo das linhas de

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

infelizmente, conf.int fornece algo como

[1] 0,1266556 0,2918427
attr (, "conf.level")
[1] 0,95

Tudo o que eu quero é apenas 0,2918427

Além disso, tenho a sensação de que precisa haver alguma coisa. Ligue para algum lugar e talvez até para uma lapply, mas não sei como isso passará por todo o quadro de dados. Ou eu deveria estar usando plyr?

Claramente minha cabeça está girando. Por favor, faça parar.

questionAnswers(2)

yourAnswerToTheQuestion