eConti - программирование в вопросах и ответах

Как повторить строки в кадре данных на основе диапазона временной переменной в R?

У меня есть df, такой, что строка выглядит так:

name datesemployed        university   
Kate Oct 2015 – Jan 2016  Princeton

Я хочу повторять всю строку для каждого года в диапазоне переменной datesemployed.

В этом случае будет две строки - одна для 2015 года, а другая для 2016.

Сначала я попытался очистить переменную, но даже не понял, как это сделать:

df3<-str_split_fixed(df$datesemployed, "–", 2)
df<-cbind(df3, df)
13.04.2020

Ответы:


1

Мы можем использовать separate_rows из tidyr, указав sep как ноль или более пробелов, за которыми следует -, а затем любые пробелы

library(dplyr)
library(tidyr)
df %>%
     separate_rows(datesemployed,  sep="\\s*–\\s*")
#    name datesemployed university
#1 Kate      Oct 2015  Princeton
#2 Kate      Jan 2016  Princeton

данные

df <- structure(list(name = "Kate", datesemployed = "Oct 2015 – Jan 2016", 
    university = "Princeton"), class = "data.frame", row.names = c(NA, 
-1L))
13.04.2020
  • В любом случае можно было бы адаптировать этот код, если бы диапазон времени не составлял один год? т.е. если бы диапазон лет был что-то вроде 2015-2017? Пытался поиграть с ним, но не нашел элегантной адаптации 09.05.2020
  • @YuNa Не могли бы вы задать новый вопрос, чтобы его было легче понять 09.05.2020
  • опубликовано! спасибо за вашу помощь: stackoverflow.com/questions/61703818/ 10.05.2020
  • Новые материалы

    ИИ для общего блага, часть вторая
    В нашем последнем блоге мы исследовали возможности ИИ для общего блага, указав на несколько инициатив по поиску действенных решений для продвижения справедливых и беспристрастных систем ИИ. По..

    Время расцвета закончилось
    Большую часть своей карьеры в индустрии программного обеспечения программисты работали с головой в песок. Успех в отрасли требует навыков презентации и обучения других. Ценность улучшенных..

    Будущее сельского хозяйства: новый уровень производительности с современными технологиями
    По мере роста населения мира растет и спрос на продукты питания. Фермеры сталкиваются с растущим давлением необходимости повышать урожайность и максимизировать производительность, манипулируя..

    Состояние совместной фильтрации в 2022 году, часть 1
    ResBeMF: Улучшение прогнозируемого охвата совместной фильтрации на основе классификации (arXiv) Автор: Анхель Гонсалес-Прието , Авраам Гутьеррес , Фернандо Ортега , Рауль Лара-Кабрера..

    Зачем изучать PYTHON в 2022 году !
    Python — востребованный, доступный язык программирования с активным, постоянно растущим сообществом пользователей. Для тех, кто хочет сменить профессию в мире технологий с помощью..

    Решение капч с помощью Puppeteer
    Это руководство предназначено для текстовых кодов, а не для reCAPTCHA Google (см. конец этого сообщения). Требования: Антикапча или любой другой сервис по разгадыванию капчи. Модуль..

    7 встроенных библиотек Python, которые необходимо знать
    7 встроенных библиотек Python, которые необходимо знать Стандартная библиотека Python значительно упрощает жизнь программистов, предоставляя широкий набор функций. Мы выбираем несколько..