1

RQuantLib を読み込もうとしていますが、次のエラーが発生します。

> require(RQuantLib)
Loading required package: RQuantLib
Error : .onLoad failed in loadNamespace() for 'RQuantLib', details:
  call: if (is.character(qc) && nchar(qc) > 1) {
  error: missing value where TRUE/FALSE needed
In addition: Warning message:
running command 'bash -c 'type -p quantlib-config' 2>/dev/null' had status 1 

私は一般的にプログラミングにかなり慣れていないので、これが何を意味するのかわかりません。私は Mac OS Maverick 環境で作業しています。RQuantLib の最新バージョン (0.3.12) をダウンロードしましたが、「R パッケージ インストーラー」はそれがインストールされていると表示しています。(R 内から install.packages() を使用しても機能しなかったため、「R CMD INSTALL RQuantLib」を使用して端末から RQuantLib をインストールしました。端末から正常に実行されていたにもかかわらず、QuantLib が構成されていないというエラーが表示されました。) R コンソールから R を実行しています。QuantLib は問題なく動作し、Rcpp も同様です。

RQuantLib フォルダーの「NAMESPACE」ドキュメントを確認したところ、次のように書かれています。

import(methods)
importFrom(Rcpp, Rcpp.plugin.maker)

useDynLib(RQuantLib)

exportPattern("*.default")

export(
       ##--arrays.R
       "oldEuropeanOptionArrays",
       "EuropeanOptionArrays",
       "plotOptionSurface",
       ##--asian.R
       "AsianOption",
       ##--bermudan.R
       "BermudanSwaption",
       "summary.G2Analytic",
       "summary.HWAnalytic",
       "summary.HWTree",
       "summary.BKTree",
       ##--bond.R
       "ZeroCouponBond",
       "ZeroPriceByYield",
       "ZeroYield",
       "FixedRateBond",
       "FixedRateBondYield",
       "FixedRateBondPriceByYield",
       "FloatingRateBond",
       "ConvertibleZeroCouponBond",
       "ConvertibleFixedCouponBond",
       "ConvertibleFloatingCouponBond",
       "CallableBond",
       "FittedBondCurve",
       ##--calendars.R
       "isBusinessDay", "businessDay",
       "isHoliday",
       "isWeekend",
       "isEndOfMonth",
       "getEndOfMonth", "endOfMonth",
       "adjust",
       "advance",
       "businessDaysBetween",
       "getHolidayList", "holidayList",
       "setCalendarContext",
       ##--dayCounter.R
       "dayCount",
       "yearFraction",
       "setEvaluationDate",
       ##--discount.R
       "DiscountCurve",
       "plot.DiscountCurve",
       ##--implied.R
       "EuropeanOptionImpliedVolatility",
       "AmericanOptionImpliedVolatility",
       "BinaryOptionImpliedVolatility",
       ##--option.R
       "EuropeanOption",
       "AmericanOption",
       "AmericanOption.default",
       "BinaryOption",
       "BarrierOption"
       )

S3method("plot", "Option")
S3method("print", "Option")
S3method("summary", "Option")

S3method("plot", "Bond")
S3method("print", "Bond")
S3method("summary", "Bond")

RQuantLib を要求しているときにターミナルが RQuantLib をインストールしたと書いたパスを指定しようとすると、次のエラーが表示されます。

> require('RQuantLib', lib.loc = "C:/Users/dealmer/Library/R/3.1/library/RQuantLib/libs")
Loading required package: RQuantLib
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  no library trees found in 'lib.loc'

では、そこから他の R ライブラリがある場所に何かを移動する必要がありますか? (他のRライブラリフォルダーがあるフォルダーには、「RQuantLib」という名前のフォルダーが既にあります。たとえば、そこにNAMESPACEドキュメントが見つかりました)ターミナルが提供したパスは、Finderウィンドウでたどることができません。 「ライブラリ」フォルダが表示されず、それを行う方法がわかりません。)

これは .libPaths() が私に与えるものです:

> .libPaths()
[1] "/Users/dealmer/Library/R/3.1/library"                          
[2] "/Library/Frameworks/R.framework/Versions/3.1/Resources/library"

R ライブラリは [2] にあります。

グーグルを試しましたが、役立つと思われるものは見つかりません。どんな助けでも大歓迎です。ありがとう - ドム

4

2 に答える 2

1

quantlib-config問題は、Linuxでは次の場所にあることだと思います$PATH

edd@max:~$ quantlib-config --help
Usage: quantlib-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] \
                       [--libs] [--cflags]
edd@max:~$ quantlib-config --version
1.4
edd@max:~$ 

私は OS X ボックスを所有していないので、あなたのような誰かがより良い設定を手伝ってくれることに頼っています。quantlib-configパス (例: ) にコピー (またはソフトリンク)するか、それ以外の場合は、それが含まれるディレクトリを含めるように/usr/local/bin調整するだけで機能します。$PATH

于 2015-01-06T03:52:00.837 に答える
0

私は同じ問題を抱えていましたが、数時間の闘争の後、あまり厳密ではないものを使用することができましたが、うまくいきました! R の評価にはいくつか問題があるようですsystem("bash -c 'type -p quantlib-config'")。QuantLib をインストールした後bash -c 'type -p quantlib-config'、ターミナルでコマンドを入力すると、quantlib-config のパスが表示されます/opt/local/bin/quantlib-config

そこで、RQuantLib (バージョン 0.4.0) のソースフォルダーに戻り、ファイル内の qc を次のように置き換えましR/inline.Rた。

qc <- as.character("/opt/local/bin/quantlib-config")

端末コマンドを使用してパッケージを再構築しましたR CMD install RQuantLib/。私が言ったように、あまりセクシーではありませんが、うまくいきます. R と Rstudio の再起動が必要です。

それが役に立てば幸い!

于 2015-01-06T02:19:24.807 に答える