Как объединить две строки? - PullRequest
       16

Как объединить две строки?

344 голосов
/ 26 августа 2011

Как я могу объединить (объединить, объединить) два значения? Например, у меня есть:

tmp = cbind("GAD", "AB")
tmp
#      [,1]  [,2]
# [1,] "GAD" "AB"

Моя цель - объединить два значения в «tmp» в одну строку:

tmp_new = "GAD,AB"

Какая функция может сделать это для меня?

Ответы [ 12 ]

1 голос
/ 07 марта 2019

glue - это новая функция, класс данных и пакет, который был разработан как часть tidyverse с множеством расширенных функциональных возможностей.Он сочетает в себе функции из paste, sprintf и других предыдущих ответов.

tmp <- tibble::tibble(firststring = "GAD", secondstring = "AB")
(tmp_new <- glue::glue_data(tmp, "{firststring},{secondstring}"))
#> GAD,AB

Создано в 2019-03-06 пакетом Представить (v0.2.1)

Да, это просто для простогопример в этом вопросе, но мощный для многих ситуаций.(см. https://glue.tidyverse.org/)

Быстрый пример по сравнению с paste с with ниже. Код glue был немного легче набрать и выглядит немного легче для чтения.

tmp <- tibble::tibble(firststring = c("GAD", "GAD2", "GAD3"), secondstring = c("AB1", "AB2", "AB3"))
(tmp_new <- glue::glue_data(tmp, "{firststring} and {secondstring} went to the park for a walk. {firststring} forgot his keys."))
#> GAD and AB1 went to the park for a walk. GAD forgot his keys.
#> GAD2 and AB2 went to the park for a walk. GAD2 forgot his keys.
#> GAD3 and AB3 went to the park for a walk. GAD3 forgot his keys.
(with(tmp, paste(firststring, "and", secondstring, "went to the park for a walk.", firststring, "forgot his keys.")))
#> [1] "GAD and AB1 went to the park for a walk. GAD forgot his keys."  
#> [2] "GAD2 and AB2 went to the park for a walk. GAD2 forgot his keys."
#> [3] "GAD3 and AB3 went to the park for a walk. GAD3 forgot his keys."

Создано в 2019-03-06 пакетом представ (v0.2.1)

1 голос
/ 06 июня 2018

Еще один ответ без вставки:

x <- capture.output(cat(data, sep = ","))
x
[1] "GAD,AB"

Где

 data <- c("GAD", "AB")
...