> On Dec 12, 2016, at 9:26 AM, John Sorkin <jsor...@grecc.umaryland.edu> wrote: > > David, > > I did read the help page. All it says is > log1p(x) computes log(1+x) accurately also for |x| << 1 (and less accurately > when x is approximately -1).
Not true. You evidently did not run the examples. -- David. > > This gives me pause. Does it mean that log(x) does not give accurate results? > If log1p gives more accurate values than log, why is the log function not > written to use the more accurate computation performed by log1p. I don't > believe I can look directly at the code for log and log1p, so I need to rely > on the kindness of others to explain the differences between the computations > performed by the functions. I guess the test I ran, > log1p(0.000001)/log(0.000001+1), did not have enough precision to demonstrate > a difference between the two functions. > > John > > > > > > John David Sorkin M.D., Ph.D. > Professor of Medicine > Chief, Biostatistics and Informatics > University of Maryland School of Medicine Division of Gerontology and > Geriatric Medicine > Baltimore VA Medical Center > 10 North Greene Street > GRECC (BT/18/GR) > Baltimore, MD 21201-1524 > (Phone) 410-605-7119 > (Fax) 410-605-7913 (Please call phone number above prior to faxing) > > >>> David Winsemius <dwinsem...@comcast.net> 12/12/16 12:05 PM >>> > > > On Dec 12, 2016, at 8:53 AM, John Sorkin <jsor...@grecc.umaryland.edu> > > wrote: > > > > At the risk of being flamed . . . > > What is the difference between log1p(x) and log(x+1)? > > The two methods appear to give the same results: > >> log1p(0.000001)/log(0.000001+1) > > [1] 1 > > John > > Read the help page more carefully. > > -- > David. > > > > > > John David Sorkin M.D., Ph.D. > > Professor of Medicine > > Chief, Biostatistics and Informatics > > University of Maryland School of Medicine Division of Gerontology and > > Geriatric Medicine > > Baltimore VA Medical Center > > 10 North Greene Street > > GRECC (BT/18/GR) > > Baltimore, MD 21201-1524 > > (Phone) 410-605-7119 > > (Fax) 410-605-7913 (Please call phone number above prior to faxing) > >>>> William Dunlap via R-help <r-help@r-project.org> 12/12/16 11:38 AM > >>>> > > log1p(x), in the base package computes log(1+x) accurately for small x > > (and > > large). > > > > E.g., > >> options(digits=16) > >> base::log1p(1e-14) > > [1] 9.99999999999995e-15 > >> base::log1p(1e-14) - base::log(1+1e-14) > > [1] 7.992778373591124e-18 > >> as.numeric(log(Rmpfr::mpfr(1,precBits=1000) + Rmpfr::mpfr(1e-14, > > precBits=1000))) - log1p(1e-14) > > [1] 0 > > > > > > Bill Dunlap > > TIBCO Software > > wdunlap tibco.com > > > > On Mon, Dec 12, 2016 at 8:23 AM, Faradj Koliev <farad...@gmail.com> > > wrote: > > > >> Hi all, > >> > >> How do I perform log(x+1) in R? > >> > >> log1p_trans() from the package ”scales" doesn’t seem to work for me. > >> > >> Best, > >> Faradj > >> ______________________________________________ > >> 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. > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > 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. > > Confidentiality Statement: > > This email message, including any attachments, is for the sole use of > > the intended recipient(s) and may contain confidential and privileged > > information. Any unauthorized use, disclosure or distribution is > > prohibited. If you are not the intended recipient, please contact the > > sender by reply email and destroy all copies of the original message. > > ______________________________________________ > > 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. > > David Winsemius > Alameda, CA, USA > > > > > Confidentiality Statement: > > This email message, including any attachments, is for ...{{dropped:10}} ______________________________________________ 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.