Funkcja czyszczenia konsoli w R i RStudio

Zastanawiam się czy jest jakaś funkcja do wyczyszczenia konsoli w R, a w szczególności RStudio Szukam funkcji, którą mogę wpisać do konsoli, a nie skrótu klawiaturowego.

Ktoś już dostarczył taką funkcję w ten post StackExchange z 2010 roku. Niestety, zależy to od pakietu RCom i nie będzie działać na Mac OS X.

 332
r
Author: nbro, 2013-01-10

13 answers

cat("\014")  

Jest kodem do wysłania CTRL+L do konsoli, a zatem wyczyści ekran.

O wiele lepsze niż wysyłanie wielu zwrotów.
 565
Author: E Luxo So,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-16 23:26:43

Jeśli używasz domyślnej konsoli R, opcja kombinacji klawiszy + dowództwo + L wyczyści konsolę.

 105
Author: Rindra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-16 23:33:08

Możesz zdefiniować następującą funkcję

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

Którą można następnie nazwać clc().

 37
Author: Carl Witthoft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-16 23:34:41

W Ubuntu-Gnome , wystarczy nacisnąć CTRL+L powinien wyczyścić ekran.

To również wydaje się działać dobrze w Windows 10 i 7 i Mac OS X Sierra.

 27
Author: kmario23,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-16 23:28:38

cat("\f") może być łatwiejsze do zapamiętania niż cat("\014").

To działa dobrze dla mnie na Windows 10.

 23
Author: myfirstAnswer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-16 23:45:10

shell("cls") if on Windows,

shell("clear") jeśli na Linuksie lub Macu.

(shell() przekazuje polecenie (lub dowolny ciąg znaków) do terminala hosta.)

 22
Author: Ryan Blanchard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-30 01:16:35

Opracowałem pakiet R, który to zrobi, zapożyczając z powyższych sugestii. Pakiet nazywa się called mise, Jak w "mise en place."Możesz go zainstalować i uruchomić za pomocą

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

Zauważ, że mise() usuwa również wszystkie zmienne i funkcje oraz domyślnie zamyka wszystkie figury. Aby wyczyścić konsolę, użyj mise(vars = FALSE, figs = FALSE).

 12
Author: papplegate,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-11 18:34:35

Oto funkcja:

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

Wtedy można ją po prostu nazwać, tak jak każdą inną funkcję R, clear().

Jeśli wolisz po prostu wpisać clear (zamiast wpisywać clear(), tzn. z nawiasami), możesz zrobić

clear_fun <- function() cat(c("\033[2J","\033[0;0H"));
makeActiveBinding("clear", clear_fun, baseenv())
 12
Author: jvd10,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-16 23:37:05

Jeśli używasz domyślnej konsoli R CTRL + L

RStudio - CTRL + L

 4
Author: Rakesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-23 13:37:06

Możesz połączyć następujące dwa polecenia

cat("\014"); 
cat(rep("\n", 50))
 3
Author: Léo Léopold Hertz 준영,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-16 23:42:07

W Linuksie użyj system("clear"), aby wyczyścić ekran.

 3
Author: Porcupine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-06 17:13:35

Cat ("\014") . To zadziała. no worries

 0
Author: SATYAJIT MAITRA,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-14 10:12:32

Inną opcją dla RStudio jest rstudioapi::sendToConsole("\014"). To zadziała nawet jeśli wyjście zostanie przekierowane.

sink("out.txt")

cat("\014") # Console not cleared

rstudioapi::sendToConsole("\014") # Console cleared

sink()
 0
Author: Paul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-11-12 03:30:35