Hello T I want to order some calculation "result", there will be lots of "result" that need to calculate and order PS: the "result" is just a intermediate varible and ordering them is the very aim
# problem: # For fixed NT and CT, and some pair (c,n). order the pair by corresponding result # c and n are both random variable CT<-6000 #assignment to CT NT<-29535210 #assignment to NT # formulae for calculation intermediate variable "result", this is just a picture of the calculation which can't implement due to the precision problem i<-0:(c-1) vec<-choose(n,i)*choose(NT-n,CT-i) #get the vector which need summation result<-log(sum(vec)) #get the log of summation # thanks to Petr, we have a solution calsta <- function(c, n) { i <- seq(from=0, length=c) logx <- lchoose(NT-n, CT-i) + lchoose(n, i) logmax <- max(logx) logmax + log(sum(exp(logx - logmax))) } # now, new problem arise, in theory, the "result" of different (c,n) pair should most probably differ, so I can order them, but > calsta(918,100000)-calsta(718,100000) [1] 0 > calsta(718,90000)-calsta(718,90000) [1] 0 > calsta(718,90000)-calsta(918,100000) [1] 0 # As Eik pointed out in another post, "calsta constantly returns 57003.6 for c>38 (the summands in # sum(exp(logx - logmax)) will become 0 for c>38)" (when n= 10,000) I think there are two ways to solve this problem: 1.Reducing the calcuation formulae algebraically get a conciser kernel for comparing. I think this is the perfect method and I failed many times, though this is not the topic of mailing-list, I hope if someone with stronge algebraical skills could give me some surprise 2.Through skills of R, which is difficult for me PS: I don't want a perfect solution but a better one, which could have a higher discriminability than before Thank you in advance Yours sincerely ZhaoXing Department of Health Statistics West China School of Public Health Sichuan University No.17 Section 3, South Renmin Road Chengdu, Sichuan 610041 P.R.China __________________________________________________ ¸Ï¿ì×¢²áÑÅ»¢³¬´óÈÝÁ¿Ãâ·ÑÓÊÏä?
______________________________________________ R-help@r-project.org mailing list 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.