2017-10-27 3 views
0

Wie zähle ich die Anzahl der mutierten Zeilen in dplyr?Anzahl der mutierten Zeilen dplyr

Nehmen wir an, ich mache eine Mutate-Operation für eine Spalte und änderte die Werte in bestimmten Zeilen bedingt. Insbesondere verwendete ich mutate(df,columnn = str_replace_all(column, "a", "A") aus dem Stringr-Paket, um bestimmte Zeilen in einem tibble bedingt zu mutieren.

Hier ist ein Beispiel:

library(dplyr) 
library(stringr) 
library(ggplot2) 
diamonds %>% 
    mutate(cut = str_replace_all(cut, "a", "A")) 

Wie kann ich die Zählung/Anzahl der Zeilen extrahiert, die mutiert wurden?

Antwort

1

Sie können die mutierten Zeilen mit den Originalen vergleichen. Fügen Sie zum Beispiel an das Ende Ihrer Kette die folgenden, und Sie werden die Anzahl der veränderten Zeilen erhalten: wäre

... %>% { sum(.$cut != diamonds$cut) } 
# [1] 23161 

Der vollständige Code

diamonds %>% 
    mutate(cut = str_replace_all(cut, "a", "A")) %>% 
    { sum(.$cut != diamonds$cut) } 
# [1] 23161 
+0

Dank! Was macht der Operator {} im Kontext einer dplyr-Kette? Nie zuvor gesehen –

+0

@AjjitNarayanan - Es erlaubt 'sum (. $ Cut! = Diamonds $ cut)' ohne Fehler ausgewertet werden. Es wird sonst nicht ausgewertet. –

Verwandte Themen