R's strsplit
удаляет последний элемент, если он «пустой» (пример 2), но не при появлении первого (пример 3) или в середине вектора для разделения (пример 4).
> unlist(strsplit(x = "1,4", split = ",")) #Example 1
[1] "1" "4"
> unlist(strsplit(x = ",4", split = ",")) #Example 2
[1] "" "4"
> unlist(strsplit(x = "1,", split = ",")) #Example 3
[1] "1"
> unlist(strsplit(x = "1,,,4", split = ",")) #Example 4
[1] "1" "" "" "4"
Есть ли способ разбора строк, который позволяет сохранить последний элемент, если он пуст после разделения:
> strmagic(x = "1,", split = ",") #strmagic being the wanted function
[1] "1" ""
Решение с другими пакетами: здесь (кажется). Можно ли это сделать в базе R?
ОБНОВЛЕНИЕ
Будет ли необходимо добавить элемент-заполнитель, например, в виде:
strmagic <- function(v, sep)lapply(v, function(x)head(unlist(strsplit(paste(x, "-", sep = sep), split = sep)), -1))