У меня есть один столбец data.frame
, где некоторые пробелы должны быть ограничителями некоторого пробела.
#input data
dat <- data.frame(x=c("A 2 2 textA1 textA2 Z1",
"B 4 1 textX1 textX2 textX3 Z2",
"C 3 5 textA1 Z3"))
# x
# 1 A 2 2 textA1 textA2 Z1
# 2 B 4 1 textX1 textX2 textX3 Z2
# 3 C 3 5 textA1 Z3
Необходимо преобразовать его в 5 столбцов data.frame
:
#expected output
output <- read.table(text="
A 2 2 textA1 textA2 Z1
B 4 1 textX1 textX2 textX3 Z2
C 3 5 textA1 Z3",sep="\t")
# V1 V2 V3 V4 V5
# 1 A 2 2 textA1 textA2 Z1
# 2 B 4 1 textX1 textX2 textX3 Z2
# 3 C 3 5 textA1 Z3
По существу, необходимо изменить 1-е, 2-е, 3-е и последнее пространство на вкладку (или любой другой разделитель, если это упростит код).
Игра с regex
еще не дает ничего полезного...
Примечание1: В реальных данных мне нужно заменить 1, 2, 3,..., 19 и последние пробелы на вкладки.
Примечание2: В V4
нет шаблона, текст может быть любым.
Примечание3: Последний столбец - это текст из одного слова с переменной длиной.