如何计算数据子集中唯一字符向量的数量

时间:2016-07-19 14:35:47

标签: r vector dplyr

以下是我的数据集示例:

Dput -

(已删除)

我使用以下代码逐月对此数据框进行子集化:

simpleindoor.mean <- simple_trapindoors %>% group_by(month) %>% summarise(n=n(),mean = mean(bitingrate), stderror = std(bitingrate))

生成如下表格:

  |Month| n |   mean| stderror|
  |-----|---|-------|---------|                          
  |May  | 12|   0.25|     0.13|
  |June | 21|   0.53|     0.12|
  |July | 21|   0.53|     0.12|

我想要做的是在同一个函数中计算每个月内个别FAMILY_ID的数量,并将其作为新列添加到“simpleindoor.mean”。

FAMILY_ID是一个字符向量。例如 “6001-032”。因此,如果5月份有12个唯一的FAMILY_ID,则新的数据列将在匹配“May”的行中显示12个。

我已经看过你寻找字符向量的特定实例的例子,但我很难找到一个例子,你可以计算特定组中出现的唯一字符向量的实例。我该怎么做?

谢谢。

1 个答案:

答案 0 :(得分:3)

您需要n_distinct

simple_trapindoors %>% group_by(month) %>% summarise(n=n(),mean = mean(bitingrate), stderror = std(bitingrate), 
                                                     UniqueFamilies = n_distinct(FAMILY_ID))