Запуск R из командной строки Windows
У меня есть программа R в файле txt, скажем "functions.txt"
.
Я загружаю файл "functions.txt"
в R, используя source("function.txt")
а затем вызывать функции f1()
, f2()
и т.д., которые объявляются и определяются внутри
"function.txt"
.
Мне также нужно загрузить несколько R-библиотек, используя library()
, прежде чем я смогу использовать f1()
, f2()
и т.д.
Мой вопрос: могу ли я получить все это (например, вызывающую функцию f1()
и f2()
) из приглашения Windows без открытия среды R?
Итак, я хочу
- загрузите библиотеки R, которые мне нужно запустить
f1()
, f2()
и т.д.
- загрузите файл
function.txt
- запустить отдельные функции f1() и т.д.
- записать результат
все из командной строки windows c:\>
У меня на вашем компьютере установлена версия R.
Было бы очень любезно дать подробный ответ, поскольку я не очень разбираюсь в компьютерах.
Привет
Ответы
Ответ 1
Сообщение Bart верное, но это можно сделать проще. Если код
f1 <- function() {
print("A")
}
f2 <- function() {
print("B")
}
f1()
f2()
находится в файле 'myRcode.R'; затем
Rscript myRcode.R
загрузит и выполнит его, включая два вызова функций.
Rscript.exe
находится в том же каталоге, что и R.exe
, который, возможно, придется добавить в $PATH
.
Ответ 2
Следующее "работает на моей машине" (но не Windows, но оно должно...):
Если ваш functions.txt
выглядит следующим образом:
f1 <- function()
{
print("A")
}
f2 <- function()
{
print("B")
}
команда:
Rscript -e "source('functions.txt');f1();f2()" > out.txt
должен создать файл out.txt
, содержащий:
[1] "A"
[1] "B"
Ответ 3
Здесь приведена командная строка script, основанная на коде выше:
d:\misc2\bin\Rscript.exe d:\r_code\mycode.r
Используя Windows 7, я запустил его как .bat файл. Работает отлично. Спасибо за совет. (конечно, это только мои отдельные подкаталоги)