したがって、R式とその出力は次のようになります。
> (4-7)^1.3
[1] NaN
Rでこれを解決する方法はありますか?
答えは複素数なので、複素数の引数を与える必要があります。
> (4-7+0i)^1.3
[1] -2.451751-3.374545i
しかし、これはたった1つのルートであることを忘れないでください...
ウィキペディア、特に太字のテキスト(http://en.wikipedia.org/wiki/Exponentiation)から引用します。
IEEE 754-2008浮動小数点標準は、ほとんどの浮動小数点ライブラリの設計で使用されています。パワーを計算するためのいくつかの異なる関数を推奨します:[19]
- powは00を1として扱います。これは最も古い定義済みバージョンです。累乗が正確な整数の場合、結果はpownの場合と同じです。それ以外の場合、結果はpowrの場合と同じです(一部の例外的な場合を除く)。
- pownは00を1として扱います。累乗は正確な整数でなければなりません。値は負数進に対して定義されます。たとえば、pown(-3,5)は-243です。
- powrは00をNaN(Not-a-Number-未定義)として扱います。底がゼロ未満であるpowr(-3,2)のような場合も、値はNaNです。値はepower×log(base)で定義されます。
ですから、Rは国際基準に沿った標準的な振る舞いをしていると思います。