В r
есть data frame
(df
), как показано ниже, в котором находится ID
строка из 10 символов.Разделить строку по количеству символов в столбце кадра данных для создания нескольких столбцов в R?
df:
ID Var1 Var2
1 0334KLM001 aa xx
2 1334HDM002 zvv rr
3 2334WEM003 qetr qwe
4 3334OKT004 ff sdf
5 4334WER005 ee sdf
6 5334BBC006 qly ssg
7 6334QQQ007 kk htj
8 7334AAA008 uu yjy
9 8334CBU009 ww wttt
10 9334MLO010 aa dg
Намерение:
Использование r
команды, я хотел бы разделить ID
на две дополнительные колонки только по числа символов. Например, я хотел бы добавить два Columns (Spl_1
& Spl_2
) в df
которых Spl_1
имеет первые четыре символа из ID
колонны и Spl_2
имеет остаток ID
характера (т.е. 5:10).
Ожидаемое output
будет так:
output:
ID Var1 Var2 Spl_1 Spl_2
1 0334KLM001 aa xx 0334 KLM001
2 1334HDM002 zvv rr 1334 HDM002
3 2334WEM003 qetr qwe 2334 WEM003
4 3334OKT004 ff sdf 3334 OKT004
5 4334WER005 ee sdf 4334 WER005
6 5334BBC006 qly ssg 5334 BBC006
7 6334QQQ007 kk htj 6334 QQQ007
8 7334AAA008 uu yjy 7334 AAA008
9 8334CBU009 ww wttt 8334 CBU009
10 9334MLO010 aa dg 9334 MLO010
Я прочитал следующие вопросы: Q1 & Q2 .Although очень информативные, но до сих пор я не получил, что, как разделить жало по номерам символов. Я нашел пакет «stringr», который я узнал с помощью команды str_sub
, я могу разделить по числу. смотри ниже:
library(stringr)
ID <- "0334KLM001"
str_sub(ID, c(1,5), c(4,10))
[1] "0334" "KLM001"
Но я не знаю, как комбинировать с другими r
командой (ами), чтобы получить output
как указано выше?
'DF $ spl_1 <- зиЬзЬг (DF $ ID, 1, 4); df $ spl_2 <- substr (df $ ID, 5, 10) 'должен это сделать. – lmo