Вывод в R, Избегать записи "[1]"

Я использую print для вывода из функции в R, например:

print("blah blah blah")

Выводит

[1] "blah blah blah"

К консоли. Как я могу избежать [1] и кавычек?

Ответы

Ответ 1

Используйте cat("Your string") (введите ?cat, чтобы просмотреть страницу справки) для вывода конкатенированных объектов в стандартный вывод.

Ответ 2

message, вероятно, является лучшей функцией для замены печати для ваших нужд. cat также является хорошей функцией для просмотра, но сообщение также напечатает новую строку для вас. Это также лучше использовать, поскольку легче подавить вывод из сообщения, чем подавлять вывод из cat.

Если вы просто хотите удалить кавычки, но не против печати [1], вы можете использовать параметр quote = FALSE для печати. ​​


Изменить: как отмечено в сообщении комментариев, это не то же самое, что вызов для печати, поскольку он отправляет вывод в другое соединение. Использование cat сделает то, что вы хотите, как отметили другие, но вы, вероятно, захотите добавить новую строку после своего сообщения.

Пример

cat("This is a message\n") # You'll want to add \n at the end

Ответ 3

Обмен сообщениями с помощью print.data.frame иногда может быть полезен для пользовательских методов печати. ​​

print(data.frame("message" = "", row.names = "blah blah blah"))
#                message
# blah blah blah  

print(data.frame("message" = "blah blah blah", row.names = ""))
#         message
#  blah blah blah

Ответ 4

Если вы хотите избавиться только от [1], но сохраните разрывы строк:

string_vector <- c('some', 'words', 'in', 'a', 'vector')
paste(string_vector, collapse = '\n') %>% cat()

дает:

some
words
in
a
vector