如何判断R是否在64位或32位上运行?

55

我的版本输出是:

> 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位?我该如何更改?


你得到答案了吗?我也遇到了同样的问题,不知道该怎么继续。应该在R查询窗口还是命令提示符上键入命令Sys.getenv("R_ARCH")或Sys.info()[["machine"]]? - Durgaprasad
4个回答

62
以下是几种方法:
  • Sys.getenv("R_ARCH") 在我的Windows系统上返回"/i386""/x64"(但在我的Ubuntu系统上返回一个空字符串)

  • Sys.info()[["machine"]] 在我的Windows和Ubuntu系统上返回"x86_32""x86_64"

更新:增加了一种方法。


12
我的输出是 ""。 :-/ - Waldir Leoncio
3
在终端中键入R,然后查看文本顶部。我的显示为:x86_64-pc-linux-gnu(64位)。对我来说,接受的答案无效。 - Christopher John
在 R 版本 3.3.3 上,Sys.info()$machine 返回一个错误:“$ operator is invalid for atomic vectors”。这个替代方法可以解决问题:Sys.info()["machine"]。 - Stanwood

51

与其需要记住各种操作系统的名称,规范的跨平台方法是查看:

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

这是R对象的地址空间,它不是操作系统的地址空间。


6

您可能安装了多个版本的R。要在RStudio中更改版本:工具->全局选项->R版本...更改...

我选择“使用计算机默认的R64(64位)版本”,因为我的操作系统是Windows 8 x64。


5

您的平台在 mingw32 前面说了 x86_64-w64。您的架构同样是 x86_64。这意味着您正在运行 64 位的 Windows。

作为参考,32 位 R 的相应架构将是 i386


3
此外,如果您正在使用 R 的 GUI 版本,则标题栏会显示架构:(32 位)(64 位) - Hong Ooi
这可能只是适用于Windows的答案。在Mac GUI上肯定不适用。 - IRTFM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接