Executar um script R a partir da linha de comando
A forma mais conveniente de executar scripts R a partir da linha de comando é utilizar Rscript, um front-end alternativo para executar código R. O Rscript é capaz de executar código R a partir de diferentes interpretadores de comandos, tais como um script bash no Linux ou uma tarefa de Programador de Tarefas no Windows.
Para utilizar Rscript, é necessário executar o comando Rscript
a partir de uma linha de comando acompanhada do nome do script a executar, que é normalmente um ficheiro .r
. Para o fazer, tem de conhecer o caminho tanto do executável Rscript como do script R. No Windows, o caminho para o executável Rscript normalmente é:
C:\Program Files\R\R-3.4.3\bin\Rscript.exe
Para experimentar o Rscript, pode escrever o seguinte script e guardá-lo com o nome SayHi.r
na pasta C:\scripts
:
SayHi <- function(name) {
sprintf("Hi, %s", name);
}
SayHi("Dave")
Depois pode executá-lo a partir da linha de comando navegando para a pasta onde o ficheiro Rscript.exe está instalado e executando o seguinte comando:
Rscript.exe c:\scripts\SayHi.r
Resultado:
[1] "Hi, Dave"
Opções Rscript
Todas as opções de Rscript começam com --
. Pode utilizar Rscript com a opção --help
para obter instruções detalhadas sobre como utilizar o comando, enquanto o parâmetro --version
mostra a versão do Rscript. Se quiser obter feedback sobre o que o Rscript faz quando executa o seu script, pode utilizar a opção --verbose
.
A opção --default-packages=list
(onde list
é uma lista de nomes de pacotes separados por vírgulas) determina os pacotes carregados na inicialização, definindo a variável de ambiente R_DEFAULT_PACKAGES
. Se a opção --default-packages=list
não for utilizada, o Rscript verifica uma variável de ambiente chamada R_SCRIPT_DEFAULT_PACKAGES
. O conteúdo desta variável tem precedência sobre R_DEFAULT_PACKAGES
.
Executar expressões simples com o parâmetro -e
em Rscript
Em vez de especificar um ficheiro de script para executar, se quiser executar expressões simples em R, pode fazê-lo especificando-as na mesma linha de comando com o comando Rscript, utilizando o parâmetro -e
. Por exemplo, se quiser listar as 4 primeiras linhas do array de dados Iris sem criar um ficheiro script, pode executar o seguinte a partir da linha de comando:
Rscript -e "head(iris,4)"
Resultado:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
Para mais informações sobre o comando Rscript, verificar a documentação Rscript oficial.