Подтвердить что ты не робот

Как узнать, работает ли R на 64 бит против 32?

Выход моей версии:

> 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 бита? Как это изменить?

Спасибо

4b9b3361

Ответ 1

Вот несколько способов:

  • Sys.getenv("R_ARCH") возвращает либо "/i386", либо "/x64" по крайней мере в моей системе Windows (но не в моей системе Ubuntu, где она возвращает пустую строку)

  • Sys.info()$machine возвращает "x86_32" или "x86_64" в мои системы Windows и Ubuntu.

Обновлено: С дополнительным методом.

Ответ 2

Вместо того, чтобы помнить обозначения различных ОС, канонический кросс-платформенный метод состоит в том, чтобы посмотреть:

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

Это адресное пространство для объектов R. (Это не адресное пространство для ОС.)

Ответ 3

Ваша платформа говорит x86_64-w64 перед mingw32. Ваша арка аналогична x86_64. Это означает, что вы используете 64-разрядную версию в 64-разрядной Windows.

Для справки соответствующая арка для 32-битного R будет i386.

Ответ 4

У вас может быть установлена ​​несколько версий R. Чтобы изменить версии в RStudio: Инструменты → Глобальные параметры → R Версия... Изменить...

Я выбираю "Использовать версию по умолчанию для компьютера R64 (64-разрядная версия)", поскольку моя ОС - это Windows 8 x64.