Le 29/07/2016 à 11:20, Rolf Turner a écrit :
On 29/07/16 20:52, Alain D. via R-help 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?

Try:

for (i in 1:nrow(df)){
  df$VAR[i] <- binom.test(df[i,1],df[i,2],0.065)$estimate[[1]]
}

(Actually I was amazed that this works without initializing df$VAR, but it *does* work! There is no limit to the wondrous nature of R!)
I was so sure that it wouldn't work that I haven't even tried!

BTW -- calling your data frame "df" is a bad idea.  There is a built-in
function named "df", and on occasion the result of naming some other object "df" can be mysterious errors accompanied by opaque error messages.

cheers,

Rolf Turner


______________________________________________
R-help@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.

Reply via email to