Skip to content
Prev 200375 / 398503 Next

^ operator

R does not "know" that 1/3 is 1/3. It is represented internally as  
0.33333...3, so certain mathematical facts such as the existence of  
real roots of fractional integer powers are opaque to R  (since it is  
not a symbolic algebra system.)

Try seaarching for cube roots on R-search (for example):

http://finzi.psych.upenn.edu/Rhelp08/2009-July/205006.html  # Further  
comments by Ted Harding

 > complex(real=-6.108576e-05)^(1/3)
[1] 0.01969171+0.03410703i'

So the safest way to get the real cube root (as opposed the complex  
roots) is to use:

sign(tmp)*abs(tmp)^1/3

 > sign(tmp)*abs(tmp)^(1/3)
[1] -0.03938341  0.03478442  0.03285672  0.08950802 -0.11696726
On Nov 16, 2009, at 5:24 AM, carol white wrote: