Ректификационной колонны на основе первого значения строки

голоса
1

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

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

STR_ID
1434233
2343535
1243435
1434355

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

Задан 07/11/2018 в 19:56
источник пользователем
На других языках...                            


1 ответов

голоса
2

Мы создаем группировку с переменной 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))
Ответил 07/11/2018 в 20:07
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more