-1
votes

R manipuler des dataframe

Données:

name_id     name_desc   is_mand   count
howard101   howards id        1   127
rando12     random pers       1   500
peter54     peters name       1    24
danny66     dannys acc        0    20


1 commentaires

Voulez-vous somme lorsque des valeurs de is_mand sont toutes 0? Par exemple, si danny66 avait une autre ligne avec un is_mand de 0 et comptez 50, voudriez-vous danny66 70?


3 Réponses :


0
votes

Ceci est accompli avec group_by () et résumée () à partir de dplyr: xxx


0 commentaires

1
votes

essayez-vous de résumer un nombre en fonction de valeurs obligatoires et non obligatoires pour chaque nom_id?

Si vous utiliseriez la fonction Résumé:

df_summary <- DF%>% group_by (nom_id, nom_description, is_mand)%>% Summarize (compte = somme (nom_id, na.rm = true)

ou si vous voulez simplement filtrer par IS_MAND, vous pouvez utiliser: < / p> xxx

Vous pouvez également combiner les deux opérations avec la fonction de filtrage:

df_summary <- df%>% group_by (nom_id, nom_description, is_mand )%>% Summarize (comptage = somme (nom_id, na.rm = true)%>% filtre (is_mand == 1)

est-ce approximativement ce que vous demandiez?


0 commentaires

0
votes

Une autre option à l'aide d'un ifelse () code> instruction pour correspondre nom_id code> où tout is_mand code> est égal à 1.

df <- structure(list(name_id = c("howard101", "howard101", "rando12", 
"peter54", "peter54", "danny66"), name_desc = c("howards id", 
"howards id", "random pers", "peters name", "peters name", "dannys acc"
), is_mand = c(1, 0, 1, 1, 0, 0), count = c(123, 4, 500, 10, 
14, 20)), row.names = c(NA, -6L), class = c("tbl_df", "tbl", 
"data.frame"))


0 commentaires