簡體   English   中英

將帶負數的向量提升到R中的小數指數

[英]Raising vector with negative numbers to a fractional exponent in R

我有一個包含負數的數字向量,我想把它提升到一個小數指數,但不能弄清楚如何做到這一點。 這是一些示例代碼。

a = seq(5,-5,1)
b = a^(5/2)

a為負時, b返回NAN值。 然而,

d = -5^(5/2) 

作品。 我知道這是因為R中的優先級,但我怎么做我想要的,即乘以a的絕對值,然后分配負數(同時還評估a == 0的可能性)?

我知道這更像是數學和R問題而不是統計數據,所以如果需要移動我會這樣做。

exponent <- function(a, pow) (abs(a)^pow)*sign(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

也許不是最有效的方法,但這個想法應該是可用的。

你的矛盾結果源於這樣一個事實:作為一種乘法的力量比否定更強大。 也就是說,

-5^(5/2) = - ( 5^(5/2) ).

對於否定論證,這種分數權力應該是正確的。 這將是解決方案

x^2 = (-5)^5 = - 5^5

這是不可能實際解決的。

復數的分數冪是一種你真的不應該打開的蠕蟲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM