Je vois que dans dplyr
la fonction cur_data()
a été abandonnée en faveur de pick()
. Cependant, je suis confus sur la manière d'utiliser pick()
pour ajouter des lignes à chaque groupe dans un dataframe groupé. Je nettoie des données farfelues et j'ai besoin d'insérer des lignes dans chaque groupe qui propagent la valeur de la variable de regroupement tout en insérant une valeur spécifique dans une colonne accompagnante.
Voici un exemple de code qui utilise cur_data()
pour produire la sortie souhaitée :
df <- tibble::tribble(
~id, ~val,
"A", 95,
"A", 20,
"A", 45,
"B", 10,
"B", 50,
"C", 80
)
df_new_rows <- df |>
dplyr::group_by(id) |>
dplyr::reframe(tibble::add_row(dplyr::cur_data(), val = 100)) |>
dplyr::ungroup()
Voici la sortie souhaitée - les lignes avec 100
dans la colonne val
ont été insérées :
# A tibble: 9 × 2
id val
1 A 95
2 A 20
3 A 45
4 A 100
5 B 10
6 B 50
7 B 100
8 C 80
9 C 100
Comment puis-je utiliser pick()
ou une autre fonction pour faire cela? Pour des raisons de développement, j'aimerais utiliser des fonctions de base de R
ou de tidyverse
, mais s'il n'y a pas moyen de le faire, je suis ouvert à d'autres suggestions. Merci d'avance pour toute aide!