【发布时间】:2016-04-10 17:58:43
【问题描述】:
我刚开始使用 dplyr,遇到以下两个问题,用group_by 应该很容易解决,但我不明白。
我的数据如下所示:
data <- data.frame(cbind("year" = c(2010, 2010, 2010, 2011, 2012, 2012, 2012, 2012),
"institution" = c("a", "a", "b", "a", "a", "a", "b", "b"),
"branch.num" = c(1, 2, 1, 1, 1, 2, 1, 2)))
data
# year institution branch.num
#1 2010 a 1
#2 2010 a 2
#3 2010 b 1
#4 2011 a 1
#5 2012 a 1
#6 2012 a 2
#7 2012 b 1
#8 2012 b 2
数据是层次结构的:一个机构最高层可以有多个分支机构,从1开始编号。
问题 1:我想选择只包含分支机构的行,每年都有一个值,即示例数据中只有机构 a 的分支机构 1,所以选择应该是第 1、4 和 5 行。
Pronlem 2:我想知道一个机构多年来的平均分支机构数量。这就是机构 a (2+1+2)/3 = 1.67 和机构 b (1+0+2)/3 = 1 的示例。
【问题讨论】: