R中带负数向量的分数指数提升
我有一个包含负数的数字向量,我想把它提升为分数指数,但我不知道怎么做。下面是一些示例代码R中带负数向量的分数指数提升,r,math,R,Math,我有一个包含负数的数字向量,我想把它提升为分数指数,但我不知道怎么做。下面是一些示例代码 a = seq(5,-5,1) b = a^(5/2) b在a为负值时返回NAN值。但是, d = -5^(5/2) 工作。我知道这是因为R中的优先级,但我想怎么做,就是乘以a的绝对值,然后赋值为负数(同时评估a==0)的可能性 我知道这更多的是数学和R问题,而不是统计学问题,所以如果需要移动它,我会这样做。b=rep(NA,length(a))#创建一个长度等于a长度的向量 b = rep(NA,l
a = seq(5,-5,1)
b = a^(5/2)
b
在a
为负值时返回NAN
值。但是,
d = -5^(5/2)
工作。我知道这是因为R中的优先级,但我想怎么做,就是乘以a
的绝对值,然后赋值为负数(同时评估a==0
)的可能性
我知道这更多的是数学和R问题,而不是统计学问题,所以如果需要移动它,我会这样做。b=rep(NA,length(a))#创建一个长度等于a长度的向量
b = rep(NA,length(a)) # create a vector of length equal to length of a
b[a>=0] = ( a[a>=0])^(5/2) # deal with the non-negative elements of a
b[a< 0] = -(-a[a< 0])^(5/2) # deal with the negative elements of a
b[a>=0]=(a[a>=0])^(5/2)#处理a的非负元素
b[a<0]=-(-a[a<0])^(5/2)#处理a的负元素
也许不是最有效的方法,但这个想法应该是有用的。
exponent你矛盾的结果源于这样一个事实:作为一种乘法,幂的结合力比否定的结合力更强。即
exponent <- function(a, pow) (abs(a)^pow)*sign(a)
-5^(5/2) = - ( 5^(5/2) ).
这种分数次幂不应该正确地定义为否定论点。这将是解决问题的办法
x^2 = (-5)^5 = - 5^5
这是不可能用实数来解的
复数的分数幂是一个你真的不想打开的蠕虫罐头。就像OP一样,我认为这可能属于SO,但你不需要自己移动它:如果人们同意我的观点,它将为你迁移。很好。比我的更优雅,太好了。从不知道sign()。如果您没有访问sign的权限,通常可以使用signum函数的数学定义:x/abs(x)for x!=否则为0和0。