Разделительный столбец на основе первого значения строки - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть переменная ID, которую я пытаюсь разделить на два отдельных столбца на основании их префикса 1 или 2.

Пример моих данных:

STR_ID
1434233
2343535
1243435
1434355

Я пробовал бесчисленные способы попытаться разделить эти переменные на столбцы на основе их префиксов, но, похоже, не могу понять это. Любые идеи о том, как я это сделаю? Заранее спасибо.

1 Ответ

0 голосов
/ 07 ноября 2018

Мы создаем группирующую переменную с substr, извлекая первый символ / цифру из STR_ID и spread в «широкий» формат

library(tidyverse)
df1 %>% 
   group_by(grp = paste0('grp', substr(STR_ID, 1, 1))) %>% 
   mutate(i = row_number()) %>% 
   spread(grp, STR_ID) %>%
   select(-i)
# A tibble: 3 x 2
#     grp1    grp2
#    <int>   <int>
#1 1434233 2343535
#2 1243435      NA
#3 1434355      NA

данные

df1 <- structure(list(STR_ID = c(1434233L, 2343535L, 1243435L, 1434355L
 )), class = "data.frame", row.names = c(NA, -4L))
...