是否可以向R中的summarize(count = n_distinct(x))
添加一个例外,同时允许“正常” summarize(count = n()) function
对例外进行计数?
如何结合计数n()
和n_distinct()
函数来创建一个新列?
这样,我可以在x
列中汇总观察值的不同计数,同时以观察值的形式添加一个例外,该例外不仅限于不同的计数,而应受“正常” summarize(count = n()) function
。
例如,如果为x = c(1, 2, 2, 4, 5, 8, 8, ..., 99)
,我可以总结除8
列中的观测值x
以外的所有观测值的不同计数。观测值8
将服从summarize(count = n()) function
。然后,这将计算8
的数量加上x
中其他唯一值的数量。
总而言之,这将创建一个新的“计数”列,其中所有值均来自不同的计数,除了一个例外,其值来自“正常”计数。
答案 0 :(得分:1)
面向未来读者的更新:
如果您要结合使用非重复计数和“正常”计数功能,则将对x
中的所有观察值进行明显计数,但观察值8
除外,后者将服从“常规”计数”计数:
summarize(count = n_distinct(x[x != 8]) + sum(x == 8))
这将计算8
的数量加上x
中其他唯一值的数量。
但是,如果您想使用非重复计数功能,同时添加一个根本不应该计数的异常(例如8
),请编写以下代码:
n_distinct(x[x != 8])
或者这个
... %>% filter(x != 8) %>% summarize...