У меня есть аналогичный фрейм данных как df
, который выглядит как реестр записей и выходов в системе.R Добавить строки при изменении формы фрейма
df = data.frame(id = c("A", "B"), entry = c(2011, 2014), exit = c(2013, 2015))
> df
id entry exit
1 A 2011 2013
2 B 2014 2015
Моя цель - представить мой df
в длинном формате. gather()
от tidyr
позволяет сделать что-то вроде этого.
df_long = df %>% gather(registry, time, entry:exit) %>% arrange(id)
> df_long
id registry time
1 A entry 2011
2 A exit 2013
3 B entry 2014
4 B exit 2015
Тем не менее, я застрял на том, как я мог бы включить дополнительные строки, которые будут представлять время, что мои наблюдения (id
) эффективно в системе. Мой желаемый data.frame
тогда будет выглядеть примерно так:
id time
1 A 2011
2 A 2012
3 A 2013
4 B 2013
5 B 2014
6 B 2015
Любая идея, как я могу сделать это более чем приветствуется и очень ценна.
Спасибо @bouncyball. Считаете ли вы, что этот подход позволил бы для большего количества переменных, таких как, например, 'df1 <- data.frame (id = c (" A "," B "), region = c (" country.1 "," country.2 "), entry = c (2011, 2014), exit = c (2013, 2015)) '? – Edu