изменение формы на основе условия в г

Я не знаю, насколько это полезно, но в моем случае я просто создал еще один круг с рамкой и поместил его «внутри» другой фигуры.

-1
задан Sun 5 March 2019 в 18:09
поделиться

1 ответ

Что-то вроде этого?

require(dplyr)
df1 %>% group_by(id,program) %>% 
mutate(daterange=paste(seq(min.date,max.date),collapse=",")) %>%
separate_rows(daterange,sep=",") %>% select(-min.date,-max.date) %>% 
spread(program,days)

mutate создает строку всех лет в пределах каждого диапазона, разделенных запятой. Затем separate_rows берет эту строку, разбивает ее на запятые и создает новую строку для каждого значения, которое мы затем можем просто spread создать, как мне кажется, ваш фактический желаемый формат. Этот последний шаг может быть ненужным, в зависимости от того, как я интерпретирую ваш комментарий выше. Результат:

   id    daterange `1`   `2`   `3`   `4`
   <chr> <chr> <int> <int> <int> <int>
 1 one   2000     NA    37    NA    NA
 2 one   2001     NA    37    NA    NA
 3 one   2002     NA    37    NA    89
 4 one   2003     NA    37    57    89
 5 one   2004     NA    37    57    89
 6 one   2005     NA    37    57    89
 7 one   2006     NA    37    57    89
 8 one   2007     NA    37    57    89
 9 one   2008     NA    37    57    89
10 one   2009     NA    37    57    89
# ... with 24 more rows
0
ответ дан iod 5 March 2019 в 18:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: