2014-01-28 7 views
0

У меня есть R-скрипт, который выполняет определенные твиттерные поиски и добавляет результаты вместе с временной меткой к кадру данных. Я бы хотел, чтобы этот график запускал каждый, скажем, пять минут. Есть ли способ сделать это внутри R?R - повторное выполнение сценария

+2

Этот вопрос представляется не по теме, поскольку он касается исключительно использования R. См. Http://stats.stackexchange.com/help/on-topic для получения консультаций по вопросам, связанным с программным обеспечением. –

ответ

3

Если вы находитесь на машине Linux, вы можете использовать задания cron (link here) на компьютерах под управлением Windows, там есть утилита Task Scheduler (link here), которую можно использовать. С помощью этих функций вы можете позвонить по номеру RScript, который позволяет вам выполнить сценарий R из командной строки (более старые версии R на Linux могут потребовать использования R CMD, если я предлагаю обновить R). Вот помощь от Rscript:

Usage: /path/to/Rscript [--options] [-e expr] file [args] 

--options accepted are 
    --help    Print usage and exit 
    --version   Print version and exit 
    --verbose   Print information on progress 
    --default-packages=list 
         Where 'list' is a comma-separated set 
         of package names, or 'NULL' 
or options to R, in addition to --slave --no-restore, such as 
    --save    Do save workspace at the end of the session 
    --no-environ  Don't read the site and user environment files 
    --no-site-file  Don't read the site-wide Rprofile 
    --no-init-file  Don't read the user R profile 
    --restore   Do restore previously saved objects at startup 
    --vanilla   Combine --no-save, --no-restore, --no-site-file 
         --no-init-file and --no-environ 

'file' may contain spaces but not shell metacharacters 

Пакет tcltk2 также позволяет планировать задачи из беговой R консоли с помощью tclTask. Так что тоже нужно что-то учитывать.

+0

Спасибо. Я надеялся, что есть решение in-R, поскольку таймфреймы довольно малы, и я не совсем привык думать о cron для задач, которые вы хотите повторять каждые несколько секунд! Тем не менее, очень полезно. Спасибо. –

+0

Вы можете использовать 'Sys.sleep (time)' в цикле или проверить фактическое время с помощью 'Sys.time' в цикле, если вы хотите полагаться на R-код. –

Смежные вопросы