store result of loop in df
What's wrong with: result <- with(df, x/n) ? Do I misunderstand? (and what's the p = .065 or [[1]] have to do with the estimated prob, as you are not actually doing any test?) Finally, if you really do this sort of thing, ?mapply (and ?with) can be useful; e.g. you could have rewritten your loop as:
with(df,mapply(function(...)binom.test(...)$estimate,x,n,MoreArgs = list(p=.065)))
probability of success probability of success probability of success
0.45454545 0.16000000 0.04166667
probability of success probability of success
0.15000000 0.28333333
Cheers,
Bert
Bert Gunter
"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
On Fri, Jul 29, 2016 at 1:52 AM, Alain D. via R-help
<r-help at r-project.org> wrote:
Dear list,
I have a dataframe df:
df<-data.frame(x=c(5,32,18,3,17), n=c(11,200,432,20,60))
Now I want to run n=nrow binom.test() with x being the number of success and n
the number of trials and then store the results as a new VAR in df.
I tried
for (i in 1:nrow(df)){
df$VAR<-(binom.test(df[i,1],df[i,2],0.065))$estimate[[1]]
}
but bin does only contain the last result.
What is wrong with my code? Can anyone help?
Thank you in advance.
Alain
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.