R CMD BATCH
?update.packages()
가 작동되지 않습니다.본 FAQ 문서는 윈도우즈 버전의 R 사용자들을 위한 것입니다. 기본이 되는 중요한 R FAQ 문서는 다음의 링크로부터 찾을 수 있습니다.
이 문서에 담겨있는 내용은 오로지 윈도우즈를 위한 R ((‘3.1.0’ 또는 이후에 배포)에만 적용됩니다. 또한 64-비트 윈도우즈 사용자에게 편중되어 있음을 먼저 알려드립니다.
Go to any CRAN site (see https://cran.r-project.org/mirrors.html for a list), navigate to the bin/windows/base directory and collect the file(s) you need. The current release is distributed as an installer ‘3.3.0 -win.exe’ of about 65MB.
그 페이지안에 ‘r-patched’ 와‘r-devel’를 엿볼수있는 링크가 있습니다. 이것들은 개발 버전 R의 자주 업데이트 되는 빌드(build)입니다. ‘r-patched’ 빌드는 현재 공개된 버전의 버그 수정을 포함하고 있고, ‘r-devel’ 는 이것 외에도 다음 공개 버전 ‘x.y.0’ 에 추가하려고 계획한 변경사항들도 들어있습니다.
현재 R 바이너리 버전은 윈도우즈 XP와 64-bit 버전을 포함한 그 이후 버전에서도 작동을 합니다: See ‘Can I use R on 64-bit Windows?’. 마지막으로 윈도우즈 2000에서 작동하는것으로 알려진 버전은 2.12.2 입니다.
여기에서는 마이크로소프트사가 지원하는 윈도우 버젼에 대해서는 테스트한 것임을 알려드립니다. 그것은 대체로 윈도우 7, 8 (64비트 버전), 윈도 XP (32 비트, SP3) 까지 입니다.
Your file system must allow case-honouring long file names (as is likely except perhaps for some network-mounted systems). An installation takes up to 150MB of disk space.
만약 소스에서 패키지를 구현하고 싶다면 공백이 없는 설치 경로를 선택하시기를 추천해드립니다. (공백이 있는 설치 경로 역시도 정상적으로 작동할 수 있지만 충분하 테스트가 이루어지지 않았습니다.) 비스타/윈도우 7,8/서버 2008,2012 사용자의 경우에는 관리자 권한을 가진 사용자가 시스템이 설치되지 않는 경로에 C:/R 을 설치해야 합니다. 네트워크에서 공유되는 경로에 R 을 설치하는 것은 지원되고 있지 않습니다. 그러한 경우에는 반드시 네트워크 드라이버에 설치경로가 제한되어야 합니다.
To install use ‘3.3.0 -win.exe’. Just double-click on the icon and follow the instructions. If you have an account with Administrator privileges you will be able to install R in the Program Files area and to set all the optional registry entries; otherwise you will only be able to install R in your own file area. You may need to confirm that you want to proceed with installing a program from an ‘unknown’ or ‘unidentified’ publisher.
After installation you should choose a working directory for R. You will have a shortcut to Rgui.exe on your desktop and/or somewhere on the Start menu file tree, and perhaps also in the Quick Launch part of the taskbar (Vista and earlier). Right-click each shortcut, select Properties... and change the ‘Start in’ field to your working directory. (If your account was not the one used for installation, you may need to copy the shortcut before editing it.)
몇몇 시스템을 가진 사용자들은 두개의 바로가기를 갖게 될 것입니다. 하나는 starting R(i386
) 라벨을 가진
32bit를 , 다른 하나(R x64
)는 64bit를 위한 것 입니다. (see ‘Should I run 32-bit
or 64-bit R?’ 를 참고하십시오)
사용자는 command line arguments를 Target Field의 마지막에 추가하고 싶을지도 모릅니다(any final
double quote와 공간에 의한 구분 이후에) 예를드면 다음과 같습니다 --sdi
--max-mem-size=1G
. 사용자는 또한 Target field의 마직막에 변수 환경을 설정할수 있습니다. 예를 들면 for
example R_LIBS=p:/myRlib
입니다. 그리고 만약 사용자가 menus와 messages를 영문으로 등록하고
싶으면, LANGUAGE=en
.
MSI 파일(시스템 관리자들에게는 흥미로울 것입니다)을 이용하여 설치하는 것 또한 가능합니다. 어떻게 MSI 파일을 만드는지에 대해서는 ’R Installation and Administration Manual’를 참고 하십시오.
R 2.11.0에서 제거된 설치파일들과 관련되어 있습니다.
사용자가 원하는 대로 설치하는 일반적인 방법은 installer 마법사로 부터 콤포넨트를 선택하는 것 입니다. 하지만 sysadmin들은 스크립트를 이용하여 R 설치하는 것을 좋아하고, installer의 사용은 following command-line flags를 이용할 수 있습니다.
오직 설치 과정 윈도우와 에러 메세지만을 보여줍니다.
오직 에러 메세지만 보여줍니다.
기본 설치 디렉토리를 지정합니다.
기본 Start-menu group name을 설정합니다
콤포넨트의 이니셜 리스트를 설정합니다. 콤포넨트들의 이름은 ‘main’, ‘‘386’ , ‘x64’, ‘translations’ 입니다.
It is also possible to save the settings used to a file and later reload those settings using
특정한 파일에 대한 설정을 저장합니다. 만약 파일이름에 공백이 있다면, quotes를 사용해 주시기 바랍니다.
command line을 확인한 이후,installer에게 특정한 파일로부터 설정들을 불러오도록 지시합니다.
A successful installation has exit code 0: unsuccessful ones may give 1, 2, 3, 4 or 5. See the help for Inno Setup (http://jrsoftware.org/) for details.
저희는 사용자지정 installer 설계를 위한 설비들을 가지고 있습니다 (특별히 installer에 패키지 더하는 것). ’Building the installers’안의 ’R Installation and Administration’ 메뉴얼을 보십시오.
사용자가 준비했었던 installation의 바로가기를 더블클릭하십시오.
만약 사용자가 다른 프로젝트를 셋업하기 원한다면, 새로운 바로가기를 만들거나, 혹은 이미 만들어진 것을 사용하시고, ’Start in’(field of the Properties) 를 변경하십시오.
You may if you prefer run R from the command line of any shell you use, for
example a ‘Command Prompt’ or a port of a Unix shell such as tcsh
or bash
. (The command line can be anything you would put in the
Target field of a shortcut, and the starting directory will be the current
working directory of the shell. Note that the R executables are not by
default added to the PATH
.) People running from a terminal usually
prefer to run Rterm.exe
and not Rgui.exe
.
가능합니다. 기본적인 R installation 은 재배치 되어 질 수 있으며, 그로인해 사용자는 R installation 이미지를 하드디스크 혹은 외부 저장 기기(USB 메모리 등)에 구울 수 있습니다
R 을 실행시키는 것은 쓰기가 가능한 일시적인 directory와 home directory에 대한 엑세스를 필요로 하고,and in the last resort these are taken to be the current directory. 적절하게 환경설정된 윈도우즈의 버전을 문제가 없어야만 하지만, 만약 아니라면, 쓰기가능한 폴더안에 바로가기 생성하는것 없이는 R을 실행하는 것을 아마 불가능 할 것입니다.
Normally you can do this from the ‘Programs and Features’ group in the Control Panel. If it does not appear there, run unins000.exe in the top-level installation directory. On recent versions of Windows you may be asked to confirm that you wish to run a program from an ‘unknown’ or ‘unidentified’ publisher.
Uninstalling R은 오직 첫번째로 설치된 파일들만 제거합니다. 이것은 사용자가 지금까지 설치하고 업데이트한 패키지들은 삭제하지 않는다는 말과 같습니다.
만약 모든 다른것들이 실패한다면, 사용자는 R이 설치된 whole directory를 삭제하십시오
이것은 사람의 기호에 따라 다릅니다. 대부분의 사람들에게 최고의 방법은 R을 삭제한 후, 새로운 버전을 설치하고, 새롭게 설치된
library 폴더로 설치된 패키지들을 복사하는 것 입니다. 새로운 R의
update.packages(checkBuilt=TRUE, ask=FALSE)
를 실행한 다음 이전에 설치되었던 것들을
삭제하십시오. 다양한 R 버전들은 계획적으로 평행적인 폴더에 설치되어질수 있고, 이로 인해 사용자는 오래된 버전들을 유지할 수 있습니다.
For those with a personal library (folder R\win-library\x.y of
your home directory, R\win64-library\x.y on 64-bit builds), you
will need to update that too when the minor version of R changes (e.g.
from 3.0.2 to 3.1.0). A simple way to do so is to copy (say)
R\win-library\3.0 to R\win-library\3.1 before running
update.packages(checkBuilt=TRUE, ask=FALSE)
.
command-line flag --max-mem-size 혹은 환경 변수 R_MAX_MEM_SIZE
에
의해서 그 것은 설정되었습니다( see ‘How do I install R for Windows?’를 보십시오).
64 비트 R 에 대해서, 그 것은 RAM 용량 만큼은 기본값으로 합니다
32비트 R에 대해서는, 실제 RAM의 양보다 적은 양이 기본값으로 설정되고, 프로세스에 대한 유저 가상메모리의 제한보다 0.5 GB 적습니다( 32비트 윈도우즈는 대부분 2GB를 사용합니다).
메모리 사용 정보를 원하신 다면 Memory
와?memory.size
사용하십시오 만약 가능하다면, 사용자는
실행되고있는 R session안의 memory.limit
를 불러옴으로써 용량제한을 증가시킬수 있습니다
32비트로 실행가능한 것들은 최고 32비트 윈도우버전들이 안정적으로 이용되어지는 프로세스 마다 user address space 의
3GB까지 지원합니다.(see
http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx,
http://msdn.microsoft.com/en-us/library/bb613473%28VS.85%29.aspx;
this is not enabled by default). --max-mem-size
에 대한 기본설정들은 RAM 과
2.5GB 용량보다 작습니다.초기 64비트 윈도우 버전을 제외한 모든 버전들의 32비트 프로세스에 대한 user address
space는 4GB 이고, --max-mem-size
에 대한 기본설정을 RAM과 3.5GB의 양보타 적습니다.
각각의 프로젝트에 대한 분활된 바로가기을 생성하십시오: Q2.5를 보십시오. 모든 R에 의해 이용되어지는 파일 경로들은 starting directory와 연관됩니다. 그러므로, ’Start in’ 필드를 세팅하는 것은 자동적을 separate progect 들을 도와줍니다
다른 방법으로는, 사용자가 사용하기 원하는 프로젝트에 대한 directory안의 ’.Rdata’ file 클릭함으로써 R을 시작하거나, extension ’.RData 파일을 R 바로가기 위에 드래그 앤 드랍함으로써 R을 시작하십시오
이것은 사용자가 어떤 것을 프린터하느냐에 의해서 달라집니다
dev.print
(with suitable arguments) 를 사용함으로써
프린트 할수있습니다(도움말 페이지를 보십시오: most likely dev.print
(win.graph) will
work).
help(fn_name,
help_type="postscript") (or "PDF")
에 의해서 도움 파일은 프린트 할수 있습니다.
R CMD BATCH
?할수있습니다. 모든 세부사항을 보려면R CMD BATCH --help
or ?BATCH
를 사용하십시오.
사용자는 Rterm.exe
를 사용하면 batch 파일을 설정 할 수있습니다. batch 파일 샘플은 포함할지도
모릅니다.
path_to_R\bin\x64\Rterm.exe --no-restore --no-save < %1 > %1.out 2>&1
The purpose of 2>&1
is to redirect warnings and errors to the same
file as normal output.
가능합니다. ESS는 윈도우 운영체제에 대한 R LTS(long time supported R)을 가지고 있습니다.
이것은 콘솔없이 Rterm.exe
를 통해서 실행됩니다. ESS에 대한 도움말을 위해서 R mailing lists가 아닌
ESS-help@stat.ethz.ch로 이메일 하시기 바랍니다.
documentation안의 명명 장소들은 이것들과 같은 용어(HOME, working directories)들을 사용합니다.
working directory는 Rgui
혹은 Rterm
이 런치된 directory 입니다( 바로가기 설정의
’Start in’ 필드에 의해서 그것이 주어졌을 때, 바로가기를 사용하지 않는다면). 사용자는 getwd()
코드를
사용함으로써 이것을 찾아낼 수 있습니다.
home directory는 다음과 같이 설정되어 있습니다 : 만약, environment variable R_USER
가
설정되어 있다면, 그 것의 값들은 사용되어집니다. environment variable HOME
으로 설정되어 있지만 않다면,
그 것의 값은 사용되어집니다. 이러한 두 user-controllable 설정을 한 이후, R은 home directories들로 정의된
시스템 찾기를 시작합니다. 그 것을 먼저 윈도우즈 "personal" directory(일반적으로 윈도우즈 XP의 directory는
C:\Documents and Settings\username\My Documents 이고, 윈도우즈 vista와 7의
diretory는 C:\Users\username\Documents 입니다) 사용을 시도합니다. 만약 이것이 실패했을때, 두
environment variables HOMEDRIVE
, HOMEPATH
가 설정되어있기만 한다면, 그 값은
${HOMEDRIVE}${HOMEPATH}입니다. 위의 모든것들이 실패했다면, 현제 working directory가
사용됩니다.
사용자는 R 코드 Sys.getenv("R_USER")
혹은 normalizePath("~")
를 이용하여 이것을
찾을수 있습니다. home directory에 대하여 ‘~’는 Unix notation 입니다.
Rgui.exe
와 Rterm.exe
에 대한 환경변수는 세가지 다른 방법들을 통해 설정될 수 있습니다
Rgui
you could have
"path_to_R\bin\x64\Rgui.exe" HOME=p:/ R_LIBS=p:/myRlib
R_LIBS=p:/myRlib
만약 사용자가 이것을 하기 위한 permission을 가지고 있다면, environment file ’etc/Renviron.site를 생성할 수 있고, 그 파일 안의 환경변수들도 같은 방법으로 설정할 수 있다. 이 것은 모든 유저에 대한 설정과 R installation를 위한 변수들에 대해 유용합니다. 그것들에 값들은 ’.Renviron’파일 혹은 command line에서 중단 될 수 있다.
environment 파일들에 대한 세부 정보들은 ?Startup
에서 볼수 있습니다.
환경 변수에 대한 우선 순위는 옵션(이것은 command line입니다)들이 나열되어 있는 순서입니다. comman line 다음에 ’.Renviron’, 그 다음 inherited environment 등의 순서입니다.
How did you specify it? Backslashes have to be doubled in R character strings, so for example one needs ‘"d:\\3.3.0 \\library\\xgobi\\scripts\\xgobi.bat"’. You can make life easier for yourself by using forward slashes as path separators: they do work under Windows. You should include the file extension (e.g. ‘"xgobi.bat"’ rather than just ‘"xgobi"’); sometimes this isn’t shown in Windows Explorer, but it is necessary in R.
이러한 문제점들을 피하기 위한 간단한 방법으로는 standard Windows file selection dialog 를 실행하기 위한
function, file.choose()
를 사용하십시오. 만약 사용자가 저곳에 있는 파일 하나를 선택하였다면, 그 이름은
R이 요구하는 정확한 포맷이 될것입니다.
또 다른 문제점으로는 폴더이름의 공간입니다. 우리는 R이 space를 가진 paths에서 실행하는 것을 시도해오고 있지만, Unix의
패키지를 작성하는 많은 사람들을 우리의 노력을 신경쓰지 않습니다. 그러므로, 대체 가능한 짧은 이름과 R 코드인 function
shortPathName
을 사용하는 것은 의미있습니다. 짧은 이름의 예로는 ‘PROGRA~1’ 있습니다. 사용자는
이것을 ’MS-DOS name’으로써 몇몇 버전의 윈도우즈에 있는 파일의 Properties와 ‘Command Prompt’
창의 dir /X
으로부터 얻을수 있습니다.
R 자신혼자 실행되고 있을때는 Registry를 사용하진 않습니다.
사용자가 R installer를 실행 시킬때, ‘Select Additional Tasks’ 아래 ‘Save version number in registry’와 ‘Associate R with .RData files’ 있습니다.
만약 사용자가 첫번째 옵션을 선택한다면, 이후의 string entries들을 Windows registry 에 더해집니다.
HKEY_LOCAL_MACHINE\Software\R-core\R\Current Version
contains the version number, currently 3.3.0 .
HKEY_LOCAL_MACHINE\Software\R-core\R\[version]\InstallPath
(where [version]
is currently 3.3.0 ) contains the path to the R home
directory.
만약, 사용자가 installer를 실행하고 있는 동안 관리자 권한을 가지고 있지 않다면, entries는
HKEY_CURRENT_USER
에 생성됩 니다. 동일한 entries는 32 와 64 비트 R 각각
Software\R-core\R32
혹은 Software\R-core\R64
에 생성됩니다.
만약 두번째 옵션을 (shown with administrative privileges only) (‘Associate R
with .RData files’)을 체크표시 했다면, entries들은 HKEY_CLASSES_ROOT\.RData
와
HKEY_CLASSES_ROOT\RWorkspace
에 생성됩니다.
사용자는 installation 이후에 sub-folder(bin
폴더안의)에 있는 RSetReg.exe
를
실행함으로써 Registry entries들을 추가할수 있고, argument /U
를 실행함으로 제거할 수 있습니다. 중요한
것은 만약 argument Personal
과 함께 실행하지 않거나, file associations을 제거혹은 설정하지만
않는 다면, 이것은 관리자 권한을 요구한다는 것입니다.
Directly, no. See packages such as RDCOMClient
from
http://www.omegahat.org/ and the non-Free project at
http://www.statconn.com/.
예를 들면, update.packages()
와 packages menu위의 menu items 등이 있습니다.
We have had several reports of this, although they do work for us on all of our machines. There are two known possible causes.
(a) A proxy needs to be set up: see ?download.file
.
(b) Firewall settings are blocking the R executables from contacting the Internet (but this should result in informative error messages from the firewall program).
This has not been reported for a few years, but used to happen regularly. All the occurrences we have solved have been traced to faulty versions of ‘msvcrt.dll’: we have installed a workaround that seems to avoid this. A few other people have discovered this was caused by desktop switcher and keyboard macro programs, for example ‘Macro Magic’ and ‘JS Pager’.
This is a warning which indicates that R has taken action to correct the action of some (non-R) DLL which has just been loaded and has changed the floating point control word (in its initialization code) to a setting incompatible with that needed for R. This is not good practice on the part of the DLL, and often indicates that it needs to be updated.
Unfortunately, because DLLs may themselves load other DLLs it is not possible for R to track which DLL caused the problem.
See also ?dyn.load
.
Some users have found that Rgui.exe
fails to start, exiting with a
“Floating-point invalid operation” or other low level error. This error
may also happen in the middle of a session. In some cases where we have
tracked this down, it was due to bugs in the video driver on the system in
question: it makes changes to the floating point control word which are
incompatible with R. (Good practice would restore the control word to the
state it was in when the driver code was called, and R tries hard to correct
this before running its own code.) For example, one user reported that the
virtual screen manager JSP2 caused this crash.
These errors are essentially impossible for us to fix or work around beyond the measures already taken. The only solution we know of is for the user to replace the buggy system component that is causing the error.
This is a misreading of Windows’ confusing Task Manager. R’s computation is single-threaded, and so it cannot use more than one CPU. What the task manager shows is not the usage in CPUs but the usage as a percentage of the apparent total number of CPUs. We say ‘apparent’ as it treats so-called ‘hyper-threaded’ CPUs such as two CPUs per core, and most modern CPUs have at least two cores.
You can see how many ‘CPU’s are assumed by looking at the number of graphs of ‘CPU Usage History’ on the ‘Performance’ tab of the Windows Task manager.
It does. A few issues have been reported that are related to the way accounts and file permissions work. (These are not specifically R issues, but changes in user experiences.)
Earlier versions of Windows had user and Administrator accounts, and user accounts could be give administrative privileges (by being added to the local Administrators group) and so write permission over system areas such as c:\Program Files. R would be installed either by a user in his own file space or by an account with administrator privileges into a system area. Sysadmins could set policies for user accounts, and you might for example have needed to be a ‘Power User’ to install software at all.
Vista and later normally disable the Administrator account and expect software installation to be done by an account which is in the local Administrator group with ‘admin approval mode’ turned on. (The Administrator account by default has it turned off.) Unlike (say) Windows XP, such accounts do not run programs with full administrator privileges, and this is where the issues arise. These OSes have the concept of ‘over-the-shoulder’ credentials: if you are running without full administrator privileges and do something which needs them you may be prompted with one or more security-check dialog boxes, and may be required to provide administrator credentials or confirm that you really want to take that action.
Vista and later will report that the R installer has an ‘unidentified publisher’ or ‘unknown publisher’ and ask if it should be run. System administrators can disable installing applications from non-trusted sources, in which case you will have to persuade them that R is trustworthy, or digitally sign the R installer yourself, or (unless this is also disabled) run the installer from a standard account and install into your own file area. (The same issues apply to the .msi version of the installer.)
If you install R as a standard user into your own file space and use it under the same account, there are no known permission issues.
If you use the default Administrator account (without ‘admin approval mode’ being turned on) and install/update packages (in the system area or elsewhere), no issues are known.
If you use an account in the local Administrators group in ‘admin approval
mode’ (which is the intended norm under these OSes), installation will make
use of ‘over-the-shoulder’ credentials. You will run into problems if you
try installing (including updating) packages in the main R library. (It
would be nice if at that point R could use over-the-shoulder credentials,
but they apply to processes as a whole. Vista and later disallow creating
.dll
files in the system area without credentials.) There are
several ways around this.
For an installation to be used by a single user, the simplest way is to make use of a ‘personal library’: See I don't have permission to write to the 3.3.0 \library directory.
For a site installation, you can create a site-wide library directory
anywhere convenient, and add it to the default package search path for all
users via R_LIBS_SITE
in etc\Renviron.site. See ‘What are
HOME and working directories?’. There is a standard location for a site
library, the site-library directory in the top-level R folder (which
you would need to create with full control for the R installation account).
This will be used for installation in preference to the main library folder
if it exists.
This approach will not allow you to update the recommended packages unless you ‘Run as administrator’: we suggest you use an R session running under Administrator privileges when updating those.
Another issue with Vista was that the standard POSIX ways that R uses
(e.g. in file.info
and file.access
) to look at file
permissions no longer work reliably. file.access
was re-written to
work with Windows NT-based security and the new version seems much more
reliable with these OSes (but still not 100% correct).
On suitably recent hardware Vista and later can prevent the execution of code from data areas via ‘Data Execution Prevention’ (from a tab in System Properties -> Advanced -> Performance), and sysadmins can turn this on for all programs. R runs correctly with DEP enabled.
R may make use of directional quotes that are not always rendered correctly
by Windows: these are used by default only by Rgui
in suitable
locales (not Chinese/Japanese/Korean).
Whether these are used in R output (from functions sQuote
and
dQuote
) is controlled by getOption("useFancyQuotes")
whose
default is FALSE
except for the Rgui
console. There are two
potential problems with rendering directional quotes. The first is with
running Rterm
: in European locales the ‘Windows Command Prompt’ is by
default set up to use MS-DOS and not Windows default encodings: this can be
changed via chcp
, with chcp 1252
being appropriate for
Western European (including English) locales. The other is that the
default raster fonts only include directional single quotes and not
directional double quotes (which will probably be rendered as a filled
rectangle).
Directional quotes will also be used in text help which is normally displayed in R’s internal pager: these may not be rendered correctly in an external pager. They are also used in HTML help, where most browsers use fonts which render them correctly.
The font used can affect whether quotes are rendered correctly. The default
font in the Rgui
console and internal pager is Courier New
,
which has directional quotes on all the systems we tried. Lucida
Console
which has elegant glyphs for directional quotes (but seems rather
light unless ClearType is in use): Consolas
is another font which we
often select when ClearType is in use. Non-TrueType fonts such as
Courier
and FixedSys
lack directional double quotes on the
systems we tried.
There is a related problem with using Sweave
output in Rgui
,
for LaTeX needs to be told about the encoding of directional quotes by
including in the LaTeX preamble e.g. (for a Western European locale)
\usepackage[cp1252]{inputenc}
or their use suppressed by options(useFancyQuotes=FALSE)
.
Where tilde does not appear on the main keyboard, it can normally be
accessed by pressing AltGr (the right Alt key) plus some other key. This is
]
in Canadian (multilingual), German and Scandinavian layouts,
1
in Eastern Europe, [
in Portuguese, 4
or 5
in
Spanish, /
in Francophone Belgian, and so on. You can explore those
for your keyboard via the ‘On-Screen Keyboard’ (under Ease of access on
Windows 7).
On all Windows versions you should be able to get tilde by holding the down the left Alt key and typing 0126 on the numeric keypad (if you have one), then releasing the Alt key.
The 32-bit build of R for Windows will run on both 32-bit and 64-bit1 versions of Windows. 64-bit versions of Windows run 32-bit executables under the WOW (Windows on Windows) subsystem: they run in almost exactly the same way as on a 32-bit version of Windows, except that the address limit for the R process is 4GB (rather than 2GB or perhaps 3GB).
When R is installed on 64-bit Windows there is the option of installing 32- and/or 64-bit builds: the default is to install both. If you are using the 32-bit build, replace ‘x64’ by ‘i386’ in the examples in this FAQ.
Obviously, only relevant if you are using 64-bit Windows.
For most users we would recommend using the ‘native’ build, that is the 32-bit version on 32-bit Windows and the 64-bit version of 64-bit Windows.
The advantage of a native 64-bit application is that it gets a 64-bit address space and hence can address far more than 4GB (how much depends on the version of Windows, but in principle 8TB). This allows a single process to take advantage of more than 4GB of RAM (if available) and for R’s memory manager to more easily handle large objects (in particular those of 1GB or more). The disadvantages are that all the pointers are 8 rather than 4 bytes and so small objects are larger and more data has to be moved around, and that less external software is available for 64-bit versions of the OS. The 64-bit compilers are able to take advantage of extra features of all x86-64 chips (more registers, SSE2/3 instructions, …) and so the code may run faster despite using larger pointers. The 64-bit build is nowadays usually slightly faster than the 32-bit build on a recent CPU (Intel Core 2 or later or AMD equivalent).
For advanced users the choice may be dictated by whether the contributed
packages needed are available in 64-bit builds (although CRAN only offers
32/64-bit builds). The considerations can be more complex: for example
32/64-bit RODBC
need 32/64-bit ODBC drivers respectively, and where
both exist they may not be able to be installed together. An extreme
example is the Microsoft Access/Excel ODBC drivers: if you have installed
64-bit Microsoft Office you can only install the 64-bit drivers and so need
to use 64-bit RODBC
and hence R. (And similarly for 32-bit Microsoft
Office.)
Obviously, only relevant if the machine is running a 64-bit version of Windows – simply select both when using the installer. You can also go back and add 64-bit components to a 32-bit install, or vice versa.
For many Registry items, 32- and 64-bit programs have different views of the Registry, but clashes can occur. The most obvious problem is the file association for .RData files, which will use the last installation for which this option is selected, and if that was for an installation of both, will use 64-bit R. To change the association the safest way is to edit the Registry entry ‘HKEY_CLASSES_ROOT\RWorkspace\shell\open\command’ and replace ‘x64’ by ‘i386’ or vice versa.
This has often been reported after an upgrade.
The R installer does not put Rcmd.exe
(nor any other R executable)
on your PATH
. What seems to have happened is that people did this for
themselves in the past, upgraded R (which by default will install to a
different location) and un-installed the old version of R. If you do that
(or install R for the first time), you need to edit the PATH
.
The element you want to add to the path is something like
c:\Program Files\R\R-3.1.0\bin\x64
for 64-bit Rcmd.exe
, replacing x64
by i386
for
32-bit.
How you set the path depends on your OS version. Under recent versions, go to ‘User Accounts’ in the Control Panel, and select your account and then ‘Change my environment variables’. (System policies can prevent end users making changes.)
An alternative is to set the PATH
in the shell you are running
(Rcmd.exe
is a command-line program). For those using the
standard Windows ‘Command Prompt’ Duncan Murdoch suggested:
The simple way to do it just for the command prompt is to write a little
batch file setpath.bat
containing
set PATH=newstuff;%PATH%
and then run cmd
with
CMD /K setpath.bat
제한된 언어들만 지원되고 있습니다. 현재는 카탈로니아어, 중국어(간체와 번체), 체코어, 덴마크어, 네덜란드어, 핀란드어, 불어, 독일어, 그리스어, 히브리어, 헝가리어, 이탈리아어, 일본어, 한국어, 노르웨이어, 폴란드어, 포르투갈어(브라질), 포르투갈어(포르투갈), 러시아어, 슬로베니아어, 스페인어(스페인)와 우크라이나어 입니다.
R은 디폴트(default)로 윈도우와 동일한 언어로 운영되도록 설정 되어있습니다.
분명히 어떤 사용자들은 윈도우가 특정한 언어에 묶여있어 선택권이 없는 경우 또는 윈도우는 모국어로 사용하기 원하지만 R은 그렇지 않을
수 있습니다. 그렇다면 Q2.2와 Q2.15에서 논의된 것처럼 LANGUAGE=en
으로 설정하시거나,
Rconsole file에 설정하시면 됩니다.
적합한 윈도우 버전은 동아시아(East Asian) 언어를 지원합니다만 예를 들어, 외국어로 설치된 윈도우(e.g. Western installations of Windows)는 종종 지원하지 않습니다. 그래서 당신이 사용하고 있는 윈도우가 그런지 생각해볼 필요가 있습니다.
Rterm.exe
와 Rgui.exe
는 싱글 너비(single-width)와 더블
너비(double-width)문자를 지원합니다. Rconsole and Rdevga에서 적합한 폰트를 선택할
필요가 있습니다.(?Rconsole
또는 파일 내 주석을 참조하세요: 시스템 버전은 etc 폴더 안에
있습니다.); 나중에 Arial
을 Arial Unicode MS
로 바꿀 수 있으며,
FixedSys
와 MS Mincho
폰트를 Rconsole에 설정 하도록 시도하였습니다.
(Note that (Rdevga는 윈도우 그래픽 파일(Windows graphics devices)에만 적용될 수 있음을
기억하시기 바랍니다. pdf
와 같은 파일에는 적용되지 않습니다.)
명심하실 것은 콘솔 폰트는 모든 CJK 문자(사용된 너비 테이블로 추정)에 대해 더블 너비 문자(double-width
characters)만을 사용한다는 점입니다: 이것은 CJK를 사용하는 곳을 위해 개발된 폰트들에 대해서는 사실이지만,
Lucida Console
이나 Consolas
의 예에는 해당되지 않습니다.
You do need to ensure that R is running in a suitable locale: use
Sys.getlocale()
to find out. (CJK users may be used to their
language characters always being available, which is the case for so-called
‘Unicode’ Windows applications. However, R is primarily written for
Unix-alikes and is not therefore ‘Unicode’ in the Windows sense.) You can
find suitable locale names from
https://msdn.microsoft.com/en-us/library/39cwe7zf%28v=vs.80%29.aspx
and
https://msdn.microsoft.com/en-us/library/cdax410z%28v=vs.80%29.aspx
beware that "Chinese"
is Traditional Chinese (code page 950, Big5)
and "chs"
is needed for Simplified Chinese (code page 936, GB2312).
Rterm
사용 시, 운영되는 윈도우는 적합한 폰트(예. OEM raster 폰트가 아닌 Lucida
Console
또는 Consolas
)와 적합한 코드페이지(Windows Cmd shell을 위한 것으로,
chcp
로 정의할 수 있습니다.)를 사용할 수 있도록 설정되어야 합니다.
정확하게 말하자면 설치를 위한(for installation) 영어를 선택한 것입니다! 설치 프로그램의 언어는R을 실행하는 데 사용하는 언어와는 아무 상관이 없습니다: 이것은 전적으로 윈도우 실행의 표준입니다(그리고 여러 사용자들의 컴퓨터는 필요에 따라서 다른 언어를 사용할 수 있습니다).
메뉴와 메시지에 대해 R언어는 사용 장소(locale)에 의해 결정된 것을 사용합니다: 자세한 내용은 적절한 매뉴얼을
읽어보시기 바랍니다 (‘R Installation and Administration’). R이 영어 메시지를 사용하기 위해서는 R을
시작하기 위해 사용하는 단축아이콘(shortcut)에 LANGUAGE=en
를 덧붙이거나, 또는 Rconsole
파일에 정의하여야 함을 기억하시기 바랍니다.
콘솔에서와 그래프에 주석 다는 것을 예를 들어 보겠습니다. Western-European이 아닌 어떤 언어에도 유사한 설명이 적용됩니다.
적절한 폰트라면 제대로 작동할 것입니다. MS Mincho나 MS Gothic을 console 폰트로써 확실하게 싱글과 더블
너비(single- and double-width) 문자로 올바르게 취급될 수 있도록 지정할 필요가
있습니다. windows()
graphics device을 위한 디폴트 그래픽 폰트는 대부분의 일반적인 일본어 문자를 다룰
수 있습니다만, 좀 더 특별한 폰트들은 정의되어야 할 수도 있습니다. (어떻게 폰트를 지정해야 하는가에 대해서는 Q5.2를 참고하시기
바랍니다: 콘솔 폰트는 ‘GUI preferences’ 메뉴 항목에서도 정의할 수 있습니다.)windowsFonts
에 대한
도움말은 windows()
family of devices에 대한 일본어 폰트 선택하기의 예를 포함합니다.
추가로, Hershey 벡터 폰트(?Hershey
, ?Japanese
와 demo(Japanese)
를
참조)는일본 문자를 표시(display)할 수 있는 graphics device라면 사용될 수 있습니다.
postscript
graphics device에서 non-Latin-1 문자를 사용하기 위해서는, 도움말 페이지를
참고하세요(pdf
로도 가능합니다).
Rconsole에 사용 중인 encoding을 지원하는 폰트를 정의해야 합니다(Q5.2 참조). 윈도우 이전 버전에서는 문제가 되곤 했었지만, 지금은 그런 폰트를 찾아보기가 어렵습니다.
터미널 윈도우에 의해서 사용된 폰트뿐만 아니라 운영되는 환경(사용장소(locale)와 코드페이지 설정을 포함한 터미널 윈도우와
쉘(shell))에 따라 Rterm
내의 문자를 지원합니다.보통은 레거시 도스(legacy DOS)설정에 있으며 수정될
필요가 있습니다.
대부분의 경우에는 그렇습니다만 윈도우에 의한 경우는 아닙니다. 사용장소 또는 LANGUAGE
환경 변수 설정은 ‘UI
language’의 윈도우 설정을 바꾸지 않습니다.Vista와 나중에 다룰 ’UI language’ 그리고 시스템 장소(system
locale)는 ‘non-Unicode’ 프로그램(윈도우 7에서 관리자 탭에 있는)에 사용되는 언어 설정을 위한 것입니다.
만약 완벽하게 불어나 중국어로 운영되는 윈도우를 사용한다면, 이러한 언어 설정이 일관적으로 이루어 질 것입니다. 하지만, 만약 한 언어로 윈도우를 실행하고 다른 언어로 R을 실행하여 한다면, 윈도우가 internationalization을 조금은 이상하게 다루는 것을 발견할 수도 있습니다.
네, 하지만 CRAN내 bin/windows/contrib 섹션의 저자나 유지보수자가 윈도우를 위한 바이너리 버전이
.zip
파일로 충분히 제공하지 않거나, 또는 패키지가 컴파일된 코드를 포함하지 않는 심플한 것(그리고 바이너리 버전들이
보통 심플 패키지들에 대해 이용 가능한 경우)이 아니라면, 그렇게 하기 위해서는 많은 도구들이 필요합니다.
바이너리 패키지는 CRAN과 같은 저장소(repository)로부터 또는 install.packages
: (도움말 페이지
참조)에 의해 사용되는 로컬 .zip
파일로부터 설치할 수 있습니다.Packages
메뉴에 패키지 설치를 위한
point-and-click interface 를 제공하는 메뉴 항목들이 있습니다.각각의 마이너 버전 (3.x.?)에 대한 패키지는
분리된 영역에 저장될 것이며,R 3.1.?을 위한 파일들은 bin/windows/contrib/3.1 내에 저장될 것입니다.
Note that the binary versions on CRAN are unsupported: see https://cran.r-project.org/bin/windows/contrib/3.1/ReadMe, which also gives the locations of a few other binary packages.
바이너리 패키지가 없거나, 최신의 것이 아니거나 또는 소스(source)로 부터 컴파일하는 것을 선호한다면, ‘R Installation
and Administration’ 매뉴얼의 ‘Add-on Packages’ 부분을 읽어보십시오. 컴파일이 필요한
C/C++/Fortran 코드를 포함하지 않은 소스 패키지는install.packages(type = "source")
나
윈도우 프롬프트 창에서 R CMD INSTALL pkgname
에 의해 간단하게 설치될 수 있습니다.컴파일이 필요한
코드를 가진 패키지를 위해서는 여러 가지의 도구를 모으고 설치할 필요가 있습니다:
http://www.murdoch-sutherland.com/Rtools/ 포털 사이트를 통해서 도구를 다운로드 받을 수
있습니다.일단 위의 작업을 마치고 나면, 윈도우 프롬프트 창에서 R CMD INSTALL pkgname
를
실행하십시오.(도움말 페이지의 모든 예와 실행을 포함하는 시험조(test suits)가 있다면) 패키지를 확인하기 위해
R CMD check pkgname
를 사용하세요: ‘Writing R Extensions’ 매뉴얼을
참조하시기 바랍니다.
컴파일이 필요한 소스패키지를 설치하기 위해 윈도우를 설정하는 것은 상당히 까다로운 일임을 참고하시기 바랍니다; 반드시 매뉴얼의 설명을 정확하게 따라 해 주시기 바랍니다. 적어도 90%의 질문들은 사용자들이 그렇게 하지 않기 때문에 발생합니다.
유닉스와 같은 시스템에서 작동하는 것이 알려진 소스 패키지를 가지고 있다면,http://win-builder.r-project.org에 문서로 기록되어 있는자동화된 윈도우 바이너리 패키지 빌더를 시도해 보시기 바랍니다.
어디든지 패키지를 설치할 수 있으며 라이브러리의 위치를 알려주기 위해 환경변수 R_LIBS
(see ‘How do I
set environment variables?’)를 사용할 수 있습니다.
p:\myRlib에 당신의 패키지가 설치되어 있다고 가정해 봅시다. 그렇다면
R을 시작하기 전에 환경변수 R_LIBS를 p:/myRlib에 지정하거나
또는 다음의 예에 의해 패키지를 사용할 수 있습니다. 예.
library(mypkg, lib.loc="p:/myRlib")
또한 R의x.y.z버전에 대한 당신의 홈 디렉토리의 R\win-library\x.y 디렉토리가 되는 개인
라이브러리를 가질 수도 있습니다.이 위치는 환경변수 R_LIBS_USER
설정에 의해 변경될 수 있으며,
Sys.getenv("R_LIBS_USER")
실행에 의해 R의 내부로부터 파악될 수 있다.이것은 존재하고 있을 때만 사용될
수 있기 때문에 그것을 만들 필요가 있습니다: 그렇게 하기 위해서 다음을 사용할 수 있습니다.
dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE)
만약 install.packages
를 사용하고 메인 라이브러리나 해당 라이브러리에 쓰기가 허용되지 않는 경우, 사용자를 위한
개인 라이브러리를 만들어야 하며 거기에 패키지를 설치해야 합니다.또한 이러한 경우는 쓰기가 허용되지 않은 라이브러리에
update.packages
가 패키지 업데이트를 제공하는 경우에도 발생할 수 있습니다.
윈도우 비스타와 이후 버전 하에 추가적인 보안 문제들이 있을 수 있습니다: See ‘Does R run under Windows Vista?’를 보시기 바랍니다. 특히, 비스타 환경 하에서는 일반 사용자들이 가지는 적합한 권한이 신뢰할 수 없게 나타나는 것이 발견되기 때문에각 개인의 디렉토리 만드는 것을 권장합니다.
이 질문은 대체된 pre-2.10.0 HTML 도움말 시스템에 적용됩니다.
이 질문은 대체된 pre-2.10.0 HTML 검색 시스템에 적용됩니다.
이 버전의 R에 대한 패키지가 설치되었습니까? 패키지는 R 2.10.0 또는 이후 버전에 대한 준비가 필요하며, R 2.10.0 또는 이후 버전에 대한 컴파일된 코드를 포함한 패키지들이 필요합니다.
DESCRIPTION 파일 내 ‘Built:’ 라인을 검토해 봄으로써컴파일된 패키지 버전을 알 수 있을 것입니다.
For a small number of binary packages you need to install additional
software and have its DLLs in your PATH
. Windows will normally give
an informative message about a certain DLL not being found. See
https://cran.r-project.org/bin/windows/contrib/3.1/ReadMe
for a listing of some of these packages (notably RGtk2
,
cairoDevice
, rggobi
, rJava
, rjags
and some of
the packages connecting to databases).
패키지 tcltk
가 작동하기 위해서는(demo(tkdensity)
또는 library(tcltk)
후에 demo(tkttest)
를 시도해 보십시오), Tcl/Tk 설치를 할 필요가 있습니다.R 설치의 이 부분은 반드시
있어야 합니다.
하지만, 환경변수 MY_TCLTK
set을 non-empty 값에 가지고 있다면, MY_TCLTK
의 값에 의해
주어진 bin 경로를 가진 다른 Tcl/Tk 8.5.x설치를 사용하기 원하는 것으로 추정되며, (필요하다면
TCL_LIBRARY
set과 함께) 올바르게 설정된 것으로 추정됩니다. 8.4.x와 8.6.0이 아닌 8.5.x가 필요한
것과 Tcl/Tk의 32비트 또는 64비트 빌드와 사용 중인 R 빌드가 일치하는 구조를 필요로 하는 것을 참고하시기
바랍니다. (64비트 빌드가 작동할 것인지는 보장할 수 없습니다: 사용하는 레이아웃에 따라 다릅니다.)
In the past several package authors have suggested using ActiveTcl
(https://www.activestate.com/Products/activetcl/) as a way to get
Tcl/Tk extensions (but the support files do contain the most commonly used
TkTable
and BWidget
extensions). This could be used by
setting (for a default install)
MY_TCLTK=c:/Tcl/bin
하지만 현재 버전은 디폴트에 의해 어떤 추가 확장을 포함하지 않으며 (Teacup
facility 를 통해
다운로드가 가능할 수 있음에도 불구하고), 32비트 R에서만 작동합니다.
이 질문은 2.10.0 이전의 버전에서 빈번하였습니다.
만약 HTTP 서버가 사용불가능 하다면, 여러 라이브러리에 설치된 패키지들 사이에 작동되지 않을 수 있습니다: 개선책은 서버를 사용 가능하도록 하는 것입니다!
update.packages()
가 작동되지 않습니다.사용 중인 패키지를 업데이트 할 수 없을 수 있습니다: 패키지의 DLL이 로드되었을 때 윈도우가 락(lock)을 합니다. 그러면 새로운
세션에서 update.packages()
(또는 메뉴에서 동일한 명령)를 사용하십시오.
만약 .Rprofile에 library(foo)
를 넣으려면, 패키지 foo
를 업데이트할 수 있도록
--vanilla와 함께 R을 시작할 필요가 있습니다. foo
를 포함하여
R_DEFAULT_PACKAGES
를 설정하려면, 일시적으로 리셋할 필요가 있습니다.
어떤 소프트웨어는 설치과정에서 남아있는 임시파일들을 막으면서 충돌이 발생한다는 보고가 있으며, Google Desktop이 알려진 예입니다.
Packages
메뉴에 Select repositories...
항목과 같이 나타날 수 있나요?
이것은 사용자가 편집할 수 있고, 또는 수정된 복사본을 사용자의 홈 디렉토리(see ‘What are HOME and working directories?’를 참고하십시오)내 .R\repositories에 저장할 수 있는 탭으로 구분된 파일 R_HOME\etc\repositories로 부터 읽어옵니다.
R 2.10.0 이후로는 지원되지 않는 컴파일된 HTML 도움말에 대한 것입니다.
당신이 특별한 목적을 위해서 이것을 하기 원한다고 추측합니다: R의 도움말 시스템은 그것들을 사용하도록 만들지 않을 것이며, 라이브러리 디렉토리를 통한 링크들은 작동하지 않을 것이고(R < 2.10.0과는 다르게), 모호한 링크들은 설치 시 결정될 것이며, 결여된 링크들은 끊어질 것입니다 (런타임 시 JavaScript에 사용된 이전 버전들이 링크들을 찾습니다). 하지만, 만약 당신이 그것들을 원한다면, 어떻게 해야 하는지 여기에 그 방법이 있습니다.
정적인 HTML 페이지들은 바이너리 배포(binary distribution)의 부분이 아니기 때문에, R 그리고/또는 패키지들을 그들의 소스로부터 설치해야 할 필요가 있습니다. 정적인 HTML 페이지들과 여러 패키지들을 다음을 사용하여 설치하십시오.
R CMD INSTALL --html pkg1 pkg2 …
R자체를 정적인 HTML 페이지들과 함께 설치하기 위해서는, 사용자 스스로 소스로부터 그것을 구축할 필요가 있습니다. (이미 실행하지 않았다면, MkRules.dist을 MkRules.local에 복사한 후에)MkRules.local내 다음 라인의 내용을 변경하십시오.
# 정적인 HTML 도움말을 구축하기 위해 YES로 설정합니다 BUILD_HTML = NO
그러고 나면 R(디폴트에 의해)의 구축에 의해 설치된 모든 패키지가 정적인 HTML 페이지와 함께 설치할 것입니다.
CRAN, BioC 또는 유사한 저장소에서도 이용 가능하지 않은 경우
유닉스와 유사한 시스템에서 작동하는 것으로 알려진 소스 패키지를 가지고 있다면, http://win-builder.r-project.org에 문서화 된 자동화된 윈도우 바이너리 패키지 빌더를 시도해 보시기 바랍니다. 만약 패키지가 당신의 것이라면, 저자(들)가 아닌 당신에게 결과가 갈 수 있도록 유지보수자 주소 변경하는 것을 기억해 주시기 바랍니다!
하지만, CRAN 패키지가 바이너리 형태로 이용 가능하지 않다면, 이것은 보통 몇몇 독립적인 패키지 또는 외부 소프트웨어 (종종 바이너리 저장 디렉토리 있는@ReadMe 파일에서 언급되는)와 문제가 있음을 의미합니다. R-windows@r-project.org로 이와 같은 패키지가 이식되는 것을 원한다는 것을 명시한 이메일을 보낼 수 있습니다 – 유지보수자들이 바이너리 패키지에 대한 작업을 우선적으로 수행할 때 이러한 요구들을 참작할 것입니다.
많은 경우 소스로부터 패키지들을 설치하는 것이 전혀 어려운 것은 아니므로 (만약 패키지가 컴파일된 코드를 포함하지 않는다면 간단합니다), 바쁜 자원봉사자들로부터 도움을 요청하기 전에 스스로 시도해 보시기 바랍니다.
세 가지 가능한 이유가 있습니다:
You are simply impatient, and need to wait until the binary package has been built and propagated to the CRAN mirror you are using. This normally (but not always) happens within 24 hours. Sometimes mirrors do get behind (especially unofficial ones), so you could try another mirror. (Mirror statistics are linked near the top of the CRAN mirror page at https://cran.r-project.org/mirrors.html.)
패키지의 최신 버전은 사용자가 사용하고 있는 R 보다 최근 버전에서 요구할 수 있습니다. CRAN내 패키지 HTML 페이지에서 확인할 수 있으며, 필요 시 R을 업데이트할 수 있습니다.
당신의 R이 너무 오래되었을 수 있습니다. 3.(x+1)가 현재 버전인 반면 3.x 시리즈를 위한 바이너리 패키지가 구축되었습니다만 (가능하다면),일단3.(x+2)가 알파(공개 약 한달 전쯤 pre-release)에 도달하면 구축은 멈춥니다.당신은 소스로부터 언제든지 설치를 시도할 수 있습니다.
얼마나 오래되었습니까? CRAN 정책은2.x 시리즈가 마감된 후 2년 동안에 바이너리 패키지를 보관하는 것입니다. 다른 저장소는 더 빨리 할 수도 있습니다.
당신이 사용하고 있는 R 버전이 그렇게 오래되었다면, 당신의 R을 업데이트 하기를 권고합니다. 하지만, 그들의 소스로부터 패키지 설치를 할 수 있는 옵션도 있습니다.
컴파일 코드나 configure.win 스크립트 없는 패키지가 32비트와 64비트 R에서 실행될 것입니다.
컴파일 코드는 있지만 configure.win과 src/Makefile.win
파일이 없는 패키지는 만약 R의
두 가지 버전이 설치되어 있다면, 64 비트 윈도우 버전에서 실행될 때 두 버전 모두를 위해 구축될 것 입니다.
빈 configure.win은 마치 존재하지 않는 것처럼 동일한 방법으로 다루어집니다.또한, R CMD
INSTALL
로 하드코드된 architecture-independent configure.win을 가진 것으로 알려진
패키지 목록이 있으며, 이러한 패키지들을 위해서, 두 사양들은 위의 조건 하에 구축될 것입니다. 다른 패키지들은
--force-biarch옵션을 사용함으로써 단지 첫 번째 사양을 위해서만 실행하는
configure.win과 함께 설치될 수 있습니다.
어떤 패키지든 첫 번째 사양을 위해 설치될 수 있으며, 그 후 --merge-multiarch 옵션과 함께 다른 사양을 위해 설치할 수 있습니다. 하지만, 패키지 소스는 반드시 tarball이어야 합니다 (그리고 전과 같이, 두 버전의 R모두 설치되어 있는64비트 윈도우 버전에서 실행합니다.)
마지막으로, src/Makefile.win
파일이 없는 패키지와 없거나 빈 또는 architecture-independent
configure.win
파일은 만약 64비트 요소들이 선택되었다면 R이 설치되었을 때와
--compile-both 옵션이 주어졌을 때 32비트 윈도우로부터 두 가지 사양을 위해 설치될 수 있습니다. 말할
필요도 없이, 32비트만을 위한 설치는 시험해 볼 수 있습니다.
Rgui.exe
and
Ctrl-break or Ctrl-C in Rterm.exe
: Ctrl-C is
used for copying in Rgui.exe
.
Rgui.exe
, the menu item ‘Help
| Console’ will give details. For Rterm.exe
see file
README.rterm.
source()
) can be specified with
either "/" or "\\".
system()
is slightly different: see its help page and that
of shell()
.
You have read the file README.3.3.0 ? There are file menus on the R
console, pager and graphics windows. You can source and save from those
menus, and copy the graphics to png
, jpeg
, bmp
,
postscript
, PDF
or metafile
. There are right-click
menus giving shortcuts to menu items, and optionally toolbars with buttons
giving shortcuts to frequent operations.
If you resize the R console the options(width=)
is automatically set
to the console width (unless disabled in the configuration file).
The graphics has a history mechanism. As README.3.3.0 says:
‘The History menu allows the recording of plots. When plots have been recorded they can be reviewed by PgUp and PgDn, saved and replaced. Recording can be turned on automatically (the Recording item on the list) or individual plots can be added (Add or the INS key). The whole plot history can be saved to or retrieved from an R variable in the global environment. The format of recorded plots may change between R versions. Recorded plots should not be used as a permanent storage format for R plots.
There is only one graphics history shared by all the windows devices.’
The R console and graphics windows have configuration files stored in the
RHOME\etc directory called Rconsole and Rdevga; you can
keep personal copies in your HOME directory. They contain comments
which should suffice for you to edit them to your preferences. For more
details see ?Rconsole
. There is a GUI preferences editor invoked
from the Edit
menu which can be used to edit the file
Rconsole.
The graphics system asks Windows for the number of pixels per inch in the X
and Y directions, and uses that to size graphics (which in R are in units of
inches). Sometimes the answer is a complete invention, and in any case
Windows will not know exactly how the horizontal and vertical size have been
set on a monitor which allows them to be adjusted. You can specify correct
values either in the call to windows
or as options: see
?windows
. (Typically these are of the order of 100.)
On one of our systems, the screen height was reported as 240mm, and the width as 300mm in 1280 x 1024 mode and 320mm in 1280 x 960 and 1600 x 1200 modes. In fact it was a 21" monitor and 400mm x 300mm!
This is less common with LCD screens but not unknown, particularly if they are not running at their native resolution.
You may want to do this from within a function, for example when calling ‘identify’ or ‘readline’. Use the function ‘bringToTop()’. With its default argument it brings the active graphics window to the top and gives it focus. With argument ‘-1’ it brings the console to the top and gives it focus.
This works for Rgui.exe
in MDI and SDI modes, and can be used for
graphics windows from Rterm.exe
(although Windows may not always
act on it).
Both Rgui
and Rterm
support TAB completion.
Hitting TAB whilst entering a command line completes the current
‘word’ as far as is unambiguously possible. Hitting TAB a second time
then shows a list of possible completions (or the first few if there are
many): the user can then enter one or more characters and hit TAB
again.
What is it ‘completing’? There are two modes: within an unterminated
(single- or double-) quoted expression it completes file paths.2 Otherwise,
it is completing R expressions: most obviously it will match visible R
object names and keywords, so apr followed by TAB will (in a
vanilla session) complete to apropos
. After a function name and
parenthesis (e.g. apropos() it will complete argument names (and
=), and after $ or @ it will complete list components or
slot names respectively.
This feature can be turned off: Rgui
has two menu items to do so,
and setting the environment variable R_COMPLETION
to FALSE
turns it off completely for both Rgui
and Rterm
.
Further, the behaviour can be fine-tuned: to see the settings available use
?rc.settings
which also explains how the various types of completion work.
This feature is very similar to the completion available in the
readline
-based command line interface on Unix-alikes: the OS X GUI
R.app
has a different completion scheme.
Have you changed the working directory?: see Q6.2.
Use the ‘File | Change Dir...’ menu item to select a new working directory: this defaults to the last directory you loaded a file from. The workspace is saved in the working directory. You can also save a snapshot of the workspace from the ‘Save Workspace...’ menu item.
From the command line you can change the working directory by the function
setwd
: see its help page.
Yes. All ports of R use the same format for saved workspaces, so they are interchangeable (for the same 3.x.? version of R, at least).
Note though that character data in a workspace will be in a particular encoding that is not recorded in the workspace, so workspaces containing non-ASCII character data may not be interchangeable even on the same OS. Since R marks character data when it knows it to be in UTF-8 or Latin-1 (including its Windows superset, CP1252), strings in those encodings are likely to be transferred correctly: fortunately this covers most of the common cases (OS X normally uses UTF-8, and Linux users are likely to use UTF-8 or perhaps Latin-1).
It is possible to save references to package namespaces when saving the workspace: if that happens the package will need to be installed on the machine loading the workspace.
This is deliberate: the console output is buffered and re-written in chunks to be faster and less distracting. You can turn buffering off or on from the ‘Misc’ menu or the right-click menu: Ctrl-W toggles the setting.
If you are sourcing R code or writing from a function, there is another
option. A call to the R function flush.console()
will write out the
buffer and so update the console.
They only seem to be truncated: that $ at the end indicates you can scroll the window to see the rest of the line. Use the horizontal scrollbar or the CTRL + left/right arrow keys to scroll horizontally. (The left/right arrow keys work in the pager too.)
See the ‘R Installation and Administration’ manual (for the version of R you want to install).
Fast BLAS (Basic Linear Algebra Subprograms, http://www.netlib.org/blas/faq.html) routines are used to speed up numerical linear algebra. There is support in the R sources for the ‘tuned’ BLAS called ATLAS (http://math-atlas.sourceforge.net). The savings can be appreciable but because ATLAS is tuned to a particular chip we can’t use it generally. However, linear algebra on large matrices is not often an important part of R computations, and more typical calculations on small matrices may run slower.
BLAS support is supplied by the single DLL R_HOME\bin\x64\Rblas.dll, and you can add a fast BLAS just by replacing that. Replacements for 32-bit R and some of the older common chips are available on CRAN in directory bin/windows/contrib/ATLAS. See the R Installation and Administration’ manual for how to build an ATLAS Rblas.dll tuned to your system using the R sources. Unfortunately the process has been less successful when tried for the common current chips such as Intel’s Core 2.
Versions of Dr Kazushige Goto’s BLAS (see https://en.wikipedia.org/wiki/Kazushige_Goto) for 64-bit Windows by Ei-Ji Nakama can be found at http://prs.ism.ac.jp/~nakama/SurviveGotoBLAS2/binary/windows/x64/. Just download the file Rblas.dll appropriate to your CPU and replace R_HOME/bin/x64/Rblas.dll. (There is also a generic version called ‘DYNAMIC_ARCH’ that tries to adapt itself to the CPU found – however if you know the exact CPU used it is better to download the CPU-specific version. Note that development of that BLAS was frozen in 2010 so you will not find versions for recent CPUs.)
Note that fast BLAS implementations may give different (and often slightly less accurate) results than the reference BLAS included in R.
We strongly encourage you to do this via building an R package: see the ‘Writing R Extensions’ manual. In any event you should get and install the tools and toolchain mentioned in the ‘R Installation and Administration’ manual. Then you can use
...\bin\x64\R CMD SHLIB foo.c bar.f
to make foo.dll. Use ...\bin\x64\R CMD SHLIB --help
for
further options, or see ?SHLIB
. (Replace x64
by i386
for 64-bit R.)
If you want to use Visual C++, Borland C++ or other compilers, see the appropriate section in README.packages.
Debugging under Windows is often a fraught process, and sometimes does not
work at all. If all you need is a just-in-time debugger to catch
crashes, consider (32-bit) Dr. Mingw
from the mingw-utils
bundle on http://www.mingw.org. That will be able to pinpoint the
error, most effectively if you build a version of R with debugging
information as described below.
First, build a version of the R system with debugging information by
make clean make DEBUG=T
and make a debug version of your package by
Rcmd INSTALL --debug mypkg
You will need a suitable version of gdb
which matches your
compiler. Then you can debug by
gdb /path/to/3.3.0 /bin/x64/Rgui.exe
(or use Rterm.exe
.) However, note
gdb
may only be able to find the source code if we run in the
location where the source was compiled (3.3.0 /src/gnuwin32 for the
main system, 3.3.0 /src/library/mypkg/src for a package), unless told
otherwise by the directory
command. It is most convenient to set
a list of code locations via directory
commands in the file
.gdbinit in the directory from which gdb
is run.
tukeyline
in package
stats
might be
gdb ../../../../bin/i386/Rgui.exe (gdb) break WinMain (gdb) run [ stops with R.dll loaded ] (gdb) break R_ReadConsole (gdb) continue [ stops with console running ] (gdb) continue Rconsole> library(stats) (gdb) break tukeyline (gdb) clear R_ReadConsole (gdb) continue Rconsole> example(line) ...
Alternatively, in Rgui
you can use the ‘Misc|Break to debugger’
menu item after your DLL is loaded. The C function call
breaktodebugger()
will do the same thing.
gdb
. It does often work with the cygwin
version.
See http://www.stats.uwo.ca/faculty/murdoch/software/debuggingR/gdb.shtml for some further details.
You need to do two things:
(a) Write a wrapper to export the symbols you want to call from R as
extern "C"
.
(b) Include the C++ libraries in the link to make the DLL. Suppose
X.cc contains your C++ code, and X_main.cc is the wrapper, as
in the example in ‘Writing R Extensions’. Then build the DLL by
(gcc
)
...\bin\x64\R CMD SHLIB X.cc X_main.cc
or (VC++, which requires extension .cpp
)
cl /MT /c X.cpp X_main.cpp link /dll /out:X.dll /export:X_main X.obj X_main.obj
and call the entry point(s) in X_R
, such as X_main
.
Construction of static variables will occur when the DLL is loaded, and
destruction when the DLL is unloaded, usually when R terminates.
Note that you will not see the messages from this example in the GUI console: see the next section.
The Rgui.exe
console is a Windows application: writing to
stdout
or stderr
will not produce output in the console.
(This will work with Rterm.exe
.) Use Rprintf
or
REprintf
instead. These are declared in header file
R_ext/PrtUtil.h.
Note that output from the console is delayed (see The output to the console seems to be delayed), so that you will not normally see any output before returning to the R prompt.
Writing to Fortran output writes to a file, not the Rgui
console.
Use one of the subroutines dblepr
, intpr
or realpr
documented in the ‘Writing R Extensions’ manual.
Note that output from the console is delayed (see The output to the console seems to be delayed), so that you will not normally see any output
before returning to the R prompt even when using the xxxpr
subroutines.
The console, pagers and graphics window all run in the same thread as the R
engine. To allow the console etc to respond to Windows events, call
R_ProcessEvents()
periodically from your compiled code. If you want
output to be updated on the console, call R_FlushConsole()
and then
R_ProcessEvents()
.
R-windows@r-project.org
what Windows calls x64 for x86-64 CPUs, not the very rare ia64 Windows for Itanium CPUs.
It does not have a complete understanding of Windows file paths, but can complete most relative or absolute file paths, including drives and spaces. Relative paths on drives are not handled, for example.