【发布时间】:2019-01-23 12:43:26
【问题描述】:
我有一个类似的数据集如下
对于每个独特的年份,我想总结数据集中每个唯一 ID 拥有的所有条约。解决此类问题的最佳方法是什么?我的数据集比这里的例子大得多。我听说for loops 这样做效率很低。
id <- rep(1:3, 4)
year <- (c(c(rep(1990, 3)), c(rep(1991, 3)), c(rep(1992, 3)), c(rep(1993, 3))) )
treaty <- c(1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1 )
data <- cbind(id, year, treaty)
我尝试过的是这样的,但我还没有成功。我也可以使用plyr 或dplyr 包来执行此操作吗?
for (i in unique(data$year)){
for (j in unique(data$year)){
prior_temp <- sum(dat$treaty[which(dat$id==j & yearunique[1:i])])
}
dat$prior <- prior_temp
}
【问题讨论】: