Je me demandais s'il serait possible d'ajouter une ligne vierge après chaque valeur unique de study
dans mon data
ci-dessous?
Mon Desired_output
est inférieure à.
Veuillez noter que ceci est une donnée de jouets. Une réponse fonctionnelle est très appréciée.
data <- data.frame(study=c(rep(1,2),2:3), year=c(rep(2001,2),2002:2003))
Desired_output =
" study year
1 1 2001
2 1 2001
# <- Blank row
3 2 2002
# <- Blank row
4 3 2003"
Groupe par une nouvelle colonne égale à étudier, puis ajoutez une ligne à la fin de chaque groupe à l'aide de Group_Modify. Enfin, supprimer l'étude2 et la dernière ligne.
library(dplyr)
data %>%
group_by(study2 = study) %>%
group_modify(~ add_row(.)) %>%
ungroup %>%
select(-study2) %>%
slice(-n())
donnant:
# A tibble: 7 x 2
study year
<dbl> <dbl>
1 1 2001
2 1 2001
3 NA NA
4 2 2002
5 NA NA
6 3 2003