我认为以下两种用法应该提供相同的结果。显然不是。有人可以帮忙解释一下吗?
fr = data.frame(A=c(1,2,3,1),B=c(T,F,T,F) )
> fr %>% n_distinct(.$A)
[1] 4
> n_distinct(fr$A)
[1] 3
答案 0 :(得分:2)
fr %>% n_distinct(.$A)
相当于n_distinct(fr, fr$A)
,它将评估整个数据框,而不仅仅是A
列。
尝试fr %>% n_distinct()
,然后尝试fr$A %>% n_distinct()
为自己查看差异。
答案 1 :(得分:0)
我们需要提取“A”列,然后应用n_distinct
fr %>%
.$A %>%
n_distinct