2017-03-19 6 views

Antwort

2

fr %>% n_distinct(.$A) entspricht n_distinct(fr, fr$A) die den gesamten Datenrahmen ausgewertet wird, nicht nur die A Spalte.

Versuchen Sie fr %>% n_distinct() und versuchen Sie dann fr$A %>% n_distinct(), um den Unterschied für sich selbst zu sehen.

+0

verstehen. aber. $ A sollte ebenso fr $ A richtig sein, oder? – HappyCoding

+0

Nein, das funktioniert nur, wenn das erste Argument '.data' ist, für nachfolgende Argumente – yeedle

+0

die Art, wie die Pipe funktioniert, ist, dass sie auf der linken Seite als erstes Argument auf der rechten Seite läuft. Also ist Ihr Aufruf 'fr%>% n_distinct (. $ A)' äquivalent zu 'n_distinct (fr, fr $ A)' was natürlich 4. – yeedle

0

Wir brauchen die 'A' Spalte zu extrahieren und dann gelten die n_distinct

fr %>% 
    .$A %>% 
    n_distinct 
+0

fr%>% auswählen (A)%>% n_distinct ist das auch richtig? – HappyCoding

+0

@HappyCoding Sie können dies in vielen verschiedenen tun. Wege. Ich habe das '. $ A' verwendet, als du es extrahiert hast. Der übliche Weg, die Tabelle zu speichern, ist 'summieren (n = n_distinct (A))' – akrun

Verwandte Themen