2017-02-16 9 views
2

手動で(またはdevtools :: test()を使用して)実行したときに、すべてのテストが正常に実行されたときにR CMDチェックが失敗することがあります。R CMDチェックが失敗し、devtools :: test()がうまく動作します

ブートパッケージを使用したブートストラップの結果を比較したいときなど、このような問題の1つにも遭遇しました。 私は、並列計算(ブートによって実行される)と乱数ジェネレータ(RNG)によって引き起こされる問題を探して、ウサギの穴に入った。

これらはすべて回答ではありませんでした。

答えて

3

最後に、問題は簡単でした。 私はbase :: sort()を使って因子のレベルを作成しました。 (データが別の順序であっても、それらが常に整列するようにする)

問題は、デフォルトのソート方法がシステムのロケールによって異なることです。また、R CMD checkは私のインタラクティブセッションとは異なるロケールを使用します。

問題は次のとおりです。 Rは対話的に使用されています。LC_COLLATE = en_US.UTF-8; R CMDチェックが使用されました:LC_COLLATE = C;ベースの詳細は

::ソートこれは言及されています

Except for method ‘"radix"’, the sort order for character vectors 
will depend on the collating sequence of the locale in use: 
see ‘Comparison’. The sort order for factors is the order of their 
levels (which is particularly appropriate for ordered factors). 

私は今、基数ソート方法を指定することで、問題を解決しました。

今、すべて正常に動作します。

関連する問題