Функция очистки консоли в R и RStudio

248

Мне интересно, есть ли функция для очистки консоли в R и, в частности, RStudio, я ищу функцию, которую я могу ввести в консоль, а не сочетание клавиш.

Кто-то уже предоставил такую ​​функцию в этой записи StackExchange с 2010 года. К сожалению, это зависит от пакета RCom и не будет работать в Mac OS X.

  • 0
    Это не точный дубликат, но он довольно тесно связан, и ответ на этот вопрос был дан в следующем - stackoverflow.com/questions/8421005/…
  • 0
    Только наберите clc с этим скриптом clc.R, который я разработал. Как это работает? clc<-0 ; class(clc) <- 'cleanup' ; print.cleanup <- function(cleanupObject) cat("\f") . Последняя строка соответствует RStudio, но в терминале измените его на print.cleanup <- function(cleanupObject) cat(c("\033[2J","\033[H")) . Clc.R содержит больше деталей.
Теги:

10 ответов

405
Лучший ответ
cat("\014")  

- это код для отправки CTRL + L на консоль и, следовательно, очистит экран.

Намного лучше, чем просто отправить много возвратов.

  • 12
    Это просто печатает одну пустую строку на моем интерактивном терминале (как на Ubuntu, так и на Mac OSX)
  • 2
    Работает для меня. Это также может помочь с очень медленной консольной ошибкой в Rstudio.
Показать ещё 9 комментариев
98

Если вы используете консоль R по умолчанию, комбинация клавиш Option + Command + L очистит консоль.

  • 38
    RStudio на Windows 7, CTRL + l работает на меня!
  • 17
    CTRL-L на тот случай, если вы подумали, что это «я», как и я :)
Показать ещё 5 комментариев
24

Вы можете определить следующую функцию

clc <- function() cat(rep("\n", 50))

который затем можно вызвать как clc().

23

В Ubuntu-Gnome просто нажмите CTRL + L, чтобы очистить экран.

Это также хорошо работает в Windows 10 и 7 и Mac OS X Sierra.

16

cat("\f") может быть легче запомнить, чем cat("\014").

Он отлично работает для меня в Windows 10.

9

Здесь функция:

clear <- function() cat(c("\033[2J","\033[0;0H"))

тогда вы можете просто называть его, когда вы вызываете любую другую функцию R, clear().

Если вы предпочитаете просто набирать clear (вместо того, чтобы набирать clear(), т.е. с круглыми скобками), вы можете сделать

clear_fun <- function() cat(c("\033[2J","\033[0;0H"));
makeActiveBinding("clear", clear_fun, baseenv())
  • 1
    Подобно подходу \014 , этот подход дает мне забавные символы (с консоли R на компьютере с Windows 10).
  • 0
    В отличие от \ 014 (или \ f) это работало для меня на Windows 10 в Rterm.
Показать ещё 3 комментария
7

Я разработал пакет R, который сделает это, заимствуя из приведенных выше предложений. Пакет называется называется mise, как в "mise en place". Вы можете установить и запустить его с помощью

install.packages("mise")
library(mise)
mise()

Обратите внимание, что mise() также удаляет все переменные и функции и по умолчанию закрывает все фигуры. Чтобы просто очистить консоль, используйте mise(vars = FALSE, figs = FALSE).

2

Вы можете комбинировать следующие две команды

cat("\014"); 
cat(rep("\n", 50))
1

shell("cls"), если в Windows,

shell("clear"), если на Linux или Mac.

(shell() передает команду (или любую строку) на главный узел.)

  • 1
    Это сработало. Это не так элегантно, как другие ответы, но гораздо легче запомнить.
  • 1
    Это единственная команда, которая работала для меня в консоли Rterm в Windows 10 ... но какая боль приходится набирать все это ...
Показать ещё 2 комментария
0

Если вы используете консоль R по умолчанию CTRL + L

RStudio - CTRL + L

Ещё вопросы

Сообщество Overcoder
Наверх
Меню