Как изменить разделитель для «toString» в R?

#r #shiny

Вопрос:

Существует отличная функция R «toString» с «,» в качестве разделителя по умолчанию.

 df <- data.frame(
  x = c(1, 1, 2, 3),
  y = c("11", "12", "2", "3"))

df %>% 
  group_by(x) %>% 
  summarise(y_str = toString(y)) %>% 
  ungroup()
 

Как изменить его на любое значение, например «br», необходимое для веб-приложения.

Спасибо!

Комментарии:

1. Вы могли бы использовать paste() с collapse = "br" .

2. Исходный код toString.default довольно прост. Вы можете изменить его и создать свою собственную функцию без жестко заданного разделителя.

Ответ №1:

Я советую использовать paste или paste0 :

 a <- 11; b <- 12; c <- 2; d <- 3
paste0(a, b, c, d)
# [1] "111223"
paste(a, b, c, d, sep=" ")
# [1] "11 12 2 3"
 

Вы не можете получить результат непосредственно из toString, даже если toString использует вставку под капотом:

 toString.default
# function (x, width = NULL, ...) 
# {
#     string <- paste(x, collapse = ", ")
# --- function continues ---