Можно ли выводить отступ в R?Выход с отступом R
например.
cat("text1\n")
indent.switch(indent=4)
cat("random text\n")
print("another random text")
indent.switch(indent=0)
cat("text2\n")
в результате
text1
random text
another random text
text2
я искал это несколько месяцев назад, ничего не нашли и теперь искать снова.
Моя текущая идея состоит в том, чтобы «переписать» (я забыл специальный термин) функции cat
и/или print
с дополнительным аргументом, как:
cat("random text", indent=4)
Только я застрял с этим, и я не люблю эта процедура очень много. Любые идеи?
Редактировать: Мне должно быть более подробно, тем не менее, спасибо за \ t (omg, я полностью забыл это -.-) и что я могу отформатировать его внутри cat. Данные решения работают, но решают только мой путь второго выбора. Переключатель, как показано в моем первом кодексе, не существует Я полагаю?
Моя проблема заключается в том, что у меня есть части более крупной программы, которые имеют несколько индексов, а выход каждого индекса должен быть отступом. Это абсолютно возможно с помощью «\ t» или просто пробелов внутри cat(), но это должно выполняться в каждой команде, что мне не очень нравится.
Решение
Я использовал код Криса Ĉ и расширил его в очень простой способ. (Большое спасибо Крис!)
define.catt <- function(ntab = NULL, nspace=NULL){
catt <- function(input = NULL){
if(!is.null(ntab)) cat(paste0(paste(rep("\t", ntab), collapse = ""), input))
if(!is.null(nspace)) cat(paste0(paste(rep(" ", nspace), collapse = ""), input))
if(is.null(ntab) && is.null(nspace)) cat(input)
}
return(catt)
}
вы можете написать многострочные строки с отступом и разрывами строк в одной строке и 'cat', которые – rawr
Пожалуйста, см. Мое редактирование в ответ на ваше редактирование. –
Переопределение 'cat' вовсе не плохой способ, хотя я бы предпочел немного другой синтаксис из предложенного вами, чтобы упростить компоновку (по существу, облегчить последующий отступ во вложенных вызовах функций или аналогичных). –