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.