Некоторые альтернативные решения, использующие очень простое сопоставление с образцом при первом появлении пробела:
1) Косвенно, используя sub
для замены вашего собственного разделителя, затем strsplit
на вашем разделителе:
например. Вы можете заменить ';' для первого пробела (если вы знаете, что этот символ не существует в ваших данных):
strsplit( sub(' ', ';', sample.text), split=';')
2) Использование regexpr
и regmatches
Вы можете эффективно сопоставить первый "" (пробел) и разделить следующим образом:
regmatches(sample.text, regexpr(" ", sample.text), invert = TRUE)
Результатом является список, если это то, что вам нужно, согласно вашему желаемому результату выборки:
[[1]]
[1] "111110" "Soybean Farming"
[[2]]
[1] "0116" "Soybeans"
3) Использование библиотеки stringr:
library(stringr)
str_split_fixed(sample.text, " ", 2) #outputs a character matrix
[,1] [,2]
[1,] "111110" "Soybean Farming"
[2,] "0116" "Soybeans"