在 R 中使用 Group by 使用 dplyr

Using Group by in R using dplyr

抱歉,现在我明白我的问题有点含糊了。我正在现场环境中工作,请在下面找到一些盲测数据:-

structure(list(Rco = structure(c(1L, 1L, 1L, 2L, 2L, 2L), .Label = c("A220", 
"B334"), class = "factor"), month = structure(c(2L, 1L, 3L, 2L, 
1L, 3L), .Label = c("Feb", "Jan", "Mar"), class = "factor"), 
    Count = c(12, 22, 33, 44, 55, 66)), .Names = c("Rco", "month", 
"Count"), row.names = c(NA, 6L), class = "data.frame")

然后我将继续根据该数据(使用 Rcharts)生成条形图,如下所示:-

b <- hPlot(x = 'Rco', y = 'Count', data = test, type = 'bar', group = 'month',title = "AAAAAA", subtitle = "Bar Graph")

现在这完全符合我的目的值,但是当我遇到所有月份的数据都不存在的情况时(请在下面的情况下)我得到不正确的输出:-

测试 <- 结构(列表(Rco = 结构(c(1L,1L,2L,2L,2L,3L),.Label = c("A220","B334","C123"), class = "factor"), 月 = 结构(c(2L, 1L, 3L, 2L, 1L, 2L), .Label = c("Feb", "Jan", "Mar"), class = "factor"), 计数 = c(12, 22, 33, 44, 55, 66)), .Names = c("Rco", "month", "Count"), row.names = c(NA, 6L), class = "data.frame")

b <- hPlot(x = 'Rco', y = 'Count', data = test, type = 'bar', group = 'month',title = "AAAAAA", subtitle = "Bar Graph")

请运行数据上的Rcharts::hplot函数,你会发现代表代码的条形混淆了(对于C123和B334)。

我在互联网上找不到任何说明这是 Rcharts 中的问题的参考资料,所以我想我会通过为每个 Rco 创建额外的行并用零填充它们来处理它,以便我可以获得数据每个 R co 每月有一条记录的框架。此外,可能超过 4 个月 - 数据可能是一年或 2 年,所以我必须使其动态化。

如有任何帮助,我们将不胜感激。

提前致谢

您可以使用table()(假设您的数据框称为数据):

table(data$First.Name, data$Sex)

        FEMALE MALE
  Edgar      0    1
  Jane       1    0
  John       0    1
  Walt       0    1

beetroot 的回答应该没问题,但这里有一个 'tidyverse' 解决方案:

df %>% 
  count(First.Name, Sex) %>% 
  ungroup() %>% 
  tidyr::complete(First.Name, Sex, fill = list(n = 0))

结果:

Source: local data frame [8 x 3]

  First.Name    Sex     n
      (fctr) (fctr) (dbl)
1      Edgar FEMALE     0
2      Edgar   MALE     1
3       Jane FEMALE     1
4       Jane   MALE     0
5       John FEMALE     0
6       John   MALE     1
7       Walt FEMALE     0
8       Walt   MALE     1