2

最後の 2つの質問は恥ずかしいものでしたが、これは本物だと確信しています。私のシステムは新規インストールなので、OS 以外のバージョンは最新です: Windows 7 SP1、R-3.0.1、Lyx 2.0.6、knitr 1.2、gdata 2.12.0.2。

まず、gdata が RGui で正しく動作することに注意してください。さて、コンパイルしようとしているドキュメントは次のとおりです。

そして、これが出力です。

gdata パッケージは、コマンド ラインから呼び出された Rscript でも正常に読み込まれます。私は LyX を使用して .Rnw ファイルをエクスポートしました。このファイルは、RGui と、コマンド ラインから Rscript に渡されたスクリプトから正常に編成されます。

私が最初にコンピュータを使い始めたとき、私は同様の(またはおそらく同じ、エラーメッセージの正体を断言することはできません)問題を抱えていました. その時はWindows 7のユーザーアカウント制御が原因で、管理者としてRを自動的に実行する方法を見つけたときに解決されました(クリックスルーなし-甘い)。そこで、R フォルダー、LyX フォルダー、私のパッケージ フォルダー、MikTeX など、読み取り専用属性と関連するすべてのセキュリティ制限を削除しようとしました。運がない。

次は何?


ETA: 私の知る限り、LyX から呼び出された R スクリプトは gdata パッケージをロードできません。ファイル コンバーターを変更して、stdout と stderr をファイルに書き込むようにしました。これにより、上記のスクリーンショットと同じエラー メッセージが表示されましたが、前に次のメッセージが表示されました。

@INC で Data/Dumper.pm が見つかりません (@INC には次が含まれます: C:/Users/cyanofsky/Documents/R/win-library/3.0/gdata/perl C:/Program Files (x86)/MiKTeX 2.9/miktex /lib .) C:/Users/cyanofsky/Documents/R/win-library/3.0/gdata/perl/module_tools.pl 11 行目。

BEGIN が失敗しました -- C:/Users/cyanofsky/Documents/R/win-library/3.0/gdata/perl/module_tools.pl 行 11 でコンパイルが中止されました。

C:/Users/cyanofsky/Documents/R/win-library/3.0/gdata/perl/supportedFormats.pl 行 9 でコンパイルが失敗しました。

running 'C:\Program Files\R\R-3.0.1\bin\x64\Rterm.exe --slave --no-restore --no-save --no-restore --file=C:/Program Files (x86)/LyX 2.0/Resources/scripts/lyxknitr.R --args C:/Users/cyanofsky/AppData/Local/Temp/lyx_tmpdir.Hp8008/lyx_tmpbuf3/xxxxxxxxx.Rnw C:/Users/cyanofsky/AppData/Local/ Temp/lyx_tmpdir.Hp8008/lyx_tmpbuf3/xxxxxxxx.tex ISO-8859-15'


ETA: Data/Dumper を検索すると、次のように表示されます。

http://help.directadmin.com/item.php?id=189

インストールした Perl64 に Data モジュールがあることを確認しました。C:\Perl64\lib にあります。したがって、これはどこかのパス変数が正しく構成されていない場合です。これは LyX のパス プレフィックス変数ではありません。いいえ、いいえ、それは簡単すぎるでしょう。


Yihuiの答えごと:

GUI (この場合は RStudio) 内から:

> strsplit(Sys.getenv('PATH'), ';')
[[1]]
 [1] "C:\\Program Files\\R\\R-3.0.1\\bin\\x64"                        
 [2] "C:\\Program Files\\R\\R-3.0.1\\bin\\x64"                        
 [3] "C:\\Perl64\\site\\bin"                                          
 [4] "C:\\Perl64\\bin"                                                
 [5] "c:\\Rtools\\bin"                                                
 [6] "c:\\Rtools\\gcc-4.6.3\\bin"                                     
 [7] "c:\\Program Files (x86)\\AMD APP\\bin\\x86_64"                  
 [8] "c:\\Program Files (x86)\\AMD APP\\bin\\x86"                     
 [9] "c:\\Program Files (x86)\\Intel\\iCLS Client\\"                  
[10] "c:\\Program Files\\Intel\\iCLS Client\\"                        
[11] "C:\\Windows\\system32"                                          
[12] "C:\\Windows"                                                    
[13] "C:\\Windows\\System32\\Wbem"                                    
[14] "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\"               
[15] "c:\\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static"
[16] ""                                                               
[17] "C:\\Program Files\\Intel\\WiFi\\bin\\"                          
[18] "C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\"       
[19] "C:\\Program Files (x86)\\Intel\\OpenCL SDK\\3.0\\bin\\x86"      
[20] "C:\\Program Files (x86)\\Intel\\OpenCL SDK\\3.0\\bin\\x64"      
[21] "C:\\Program Files (x86)\\MiKTeX 2.9\\miktex\\bin\\"             

> Sys.which('perl')
                       perl 
"C:\\Perl64\\bin\\perl.exe" 

以下は、Rscript への呼び出し内からのものです。

> load("~/lyxknitrpaths.RData")
> syspath
[[1]]
 [1] "C:\\Program Files\\R\\R-3.0.1\\bin\\x644"                       
 [2] "LyXDir\\bin"                                                    
 [3] "$LyXDir\\Python"                                                
 [4] "$LyXDir\\Python\\Lib"                                           
 [5] "$LyXDir\\imagemagick"                                           
 [6] "C:\\Program Files (x86)\\MiKTeX 2.9\\miktex\\bin"               
 [7] "C:\\Program Files (x86)\\LyX 2.0\\ghostscript\\bin"             
 [8] "C:\\Perl64\\lib"                                                
 [9] "C:\\Perl64"                                                     
[10] "C:\\Program Files (x86)\\LyX 2.0\\\\Python"                     
[11] "C:\\Program Files (x86)\\LyX 2.0\\\\Python\\Lib"                
[12] "C:\\Program Files (x86)\\LyX 2.0\\\\imagemagick"                
[13] "C:\\Program Files (x86)\\LyX 2.0\\\\bin"                        
[14] "C:\\Program Files (x86)\\LyX 2.0\\bin\\"                        
[15] "C:\\Program Files\\R\\R-3.0.1\\bin\\x64"                        
[16] "C:\\Perl64\\site\\bin"                                          
[17] "C:\\Perl64\\bin"                                                
[18] "c:\\Rtools\\bin"                                                
[19] "c:\\Rtools\\gcc-4.6.3\\bin"                                     
[20] "c:\\Program Files (x86)\\AMD APP\\bin\\x86_64"                  
[21] "c:\\Program Files (x86)\\AMD APP\\bin\\x86"                     
[22] "c:\\Program Files (x86)\\Intel\\iCLS Client\\"                  
[23] "c:\\Program Files\\Intel\\iCLS Client\\"                        
[24] "C:\\Windows\\System32"                                          
[25] "C:\\Windows"                                                    
[26] "C:\\Windows\\System32\\wbem"                                    
[27] "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\"               
[28] "c:\\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static"
[29] "C:\\Program Files\\Intel\\WiFi\\bin\\"                          
[30] "C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\"       
[31] "C:\\Program Files (x86)\\Intel\\OpenCL SDK\\3.0\\bin\\x86"      
[32] "C:\\Program Files (x86)\\Intel\\OpenCL SDK\\3.0\\bin\\x64"      
[33] "C:\\Program Files (x86)\\MiKTeX 2.9\\miktex\\bin\\"             

> perlpath
                                             perl 
"C:\\PROGRA~2\\MIKTEX~1.9\\miktex\\bin\\perl.exe" 
4

1 に答える 1

3

Perl の 2 つのインスタンスが何らかの理由で衝突したようPATHです。以下のコードの出力を投稿してください

strsplit(Sys.getenv('PATH'), ';')
Sys.which('perl')

LyX/knitr とプレーン R の両方から。 (ユーザー名などのプライバシーに関するものは自由に に置き換えてくださいfoobar)

于 2013-06-17T17:20:31.380 に答える