Я хочу иметь один столбец для каждого числа в data.table
на переменную группировки. Предположим, у меня есть следующие данные:
Data <- data.table(Text = c("123 456", "234 567"), Group = c("A", "B"))
Text Group
1: 123 456 A
2: 234 567 B
Что я хочу:
Text Group Number1 Number2
1: 123 456 A 123 456
2: 234 567 B 234 567
Что я пробовал:
Data[, c("Number1", "Number2") := str_extract_all(Text, "\\d+"), Group]
Это дает мне следующее:
Error in `[.data.table`(Data, , `:=`(c("Number1", "Number2"), str_extract_all(Text, :
Supplied 2 items to be assigned to group 1 of size 1 in column 'Number1'. The RHS length must either be 1 (single values are ok) or match the LHS length exactly. If you wish to 'recycle' the RHS please use rep() explicitly to make this intent clear to readers of your code.
Я знаю, что могу использовать separate
, я знаю, что я могу использовать одно регулярное выражение для числа / столбца, но я хочу умное решение в «одной строке» с str_extract_all
.