web-dev-qa-db-ja.com

Rが32ビットに対して64ビットで実行されているかどうかを知るにはどうすればよいですか?

私のバージョン出力は次のとおりです。

> version
               _                            
platform       x86_64-w64-mingw32           
Arch           x86_64                       
os             mingw32                      
system         x86_64, mingw32              
status                                      
major          2                            
minor          15.2                         
year           2012                         
month          10                           
day            26                           
svn rev        61015                        
language       R                            
version.string R version 2.15.2 (2012-10-26)
nickname       Trick or Treat    

ここで、osはmingw32です。これは、32ビットしか使用していないということですか?どうすれば変更できますか?

45
maziar

以下にいくつかの方法を示します。

  • Sys.getenv("R_Arch")は、少なくともWindowsシステムでは_"/i386"_または_"/x64"_のいずれかを返します(ただし、Ubuntuシステムでは空の文字列を返します)

  • Sys.info()[["machine"]]は、WindowsおよびUbuntuシステムで_"x86_32"_または_"x86_64"_を返します。

更新:追加メソッドあり。

49
G. Grothendieck

さまざまなOSの指定を覚えておく必要はなく、標準的なクロスプラットフォームの方法は以下を調べることです。

> .Machine$sizeof.pointer
[1] 8   # 8 bytes for address is 64 bits.

これは、Rオブジェクトのアドレス空間です。 (OSのアドレス空間ではありません。)

45
42-

プラットフォームにはx86_64-w64の前にmingw32。あなたのArchも同様ですx86_64。つまり、64ビットWindows上で64ビットを実行しています。

参考のため、32ビットRに対応するArchはi386

5
Hong Ooi

Rの複数のバージョンがインストールされている場合があります。 RStudioでバージョンを変更するには:ツール->グローバルオプション-> Rバージョン...変更...

私のOSはWindows 8 x64であるため、「マシンのデフォルトバージョンのR64(64ビット)を使用する」を選択します。

4
myidealab