strsplit не разделяет для всех элементов символьного вектора, предоставленных параметру «split» - PullRequest
0 голосов
/ 05 ноября 2018

Документация R для функции strsplit сообщает о параметре split, что "Если длина разбиения больше 1, она повторяется по оси x."

Я понимаю, что если я использую следующий код

strsplit(x = "Whatever will be will be", split = c("ever", "be"))

..., я разбью x на «Что», «будет» и «будет». Такого не бывает. Вывод «Что» и «будет будет».

Я неправильно истолковал документацию? Кроме того, как я могу получить желаемый результат?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

split перерабатывается для элементов из x, так что первый элемент разбиения применяется к первому элементу x, второму ко второму и т. Д. Так, например:

strsplit(x = c("Whatever will be will be", "Whatever will be will be"), split = c("ever", "be"))
[[1]]
[1] "What"             " will be will be"

[[2]]
[1] "Whatever will " " will "
0 голосов
/ 05 ноября 2018

Аргументы в split будут переработаны, если также x имеет несколько аргументов:

strsplit(x = c("Whatever will be will be","Whatever will be will be"), 
         split = c("ever", "be"))
[[1]]
[1] "What"             " will be will be"

[[2]]
[1] "Whatever will " " will " 

Я подозреваю, что поведение, которое вы ожидаете, достигается с помощью |:

strsplit(x = "Whatever will be will be", split = c("ever|be"))
[[1]]
[1] "What"   " will " " will "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...