汇总计数数据

Aggregating count data

我有一个关于 1989-2016 年国内冲突的数据集 (test_data)。分析单位为_DyadID_,是该时间段内卷入内战的每一对行为体的唯一标识。该数据集还包括 _SideA__SideB_,它们是特定二元组中演员的名字。每行都是 "event" 武装暴力事件,其中有一个变量表示 A 方死亡人数 (_deaths-a_) 和 B 方死亡人数 (_deaths-b_)。最后,有一个变量指示每个事件的月年。

subset of data

为了我的研究,我需要知道每月 _deaths-a__deaths-b_ 的数量 。基本上,我想最终得到一个数据集,该数据集显示每个 _DyadID_ 的每月死亡人数数据。我已经使用以下代码设法显示所有冲突中每月 A/B 的死亡总数:

    monthly_deaths_a <- aggregate(deaths_a ~ year_month, test_data, sum)
    monthly_deaths_b <- aggregate(deaths_b ~ year_month, test_data, sum)

但不知道如何为每个 dyad 分解此数据。

如果有人能提出这样做​​的方法,我将不胜感激!干杯

data.table 类似:

require(data.table)

summary <- test_data[, .(sum(deaths_a), sum(deaths_b)), by= .(year_month)]

注意:不确定您是需要按月还是按月和年...这些是不同的,所以我将两者分开...

   #Start with some sample data 

other_var <- c(1,2,2,1,2,2)
DyadID <- c(689, 689, 689, 889, 889, 889)
year_month <- c('2007-04', '2007-04', '2008-04', '2007-06', '2007-06', '2007-07')
deaths_a <- c(0, 5, 3, 2, 0, 0)
deaths_b <- c(10, 0, 3, 4, 3, 3)

df <- data.frame(other_var, DyadID, year_month, deaths_a, deaths_b)

#Use the dplyr and tidyr packages...

library(dplyr)
library(tidyr)

#Split your variable into year and month (which is what I assume you mean...)

df <- df %>%
  separate(year_month, c('year', 'month'), "-")

#Aggregate

df2 <- aggregate(cbind(deaths_a, deaths_b) ~ DyadID + year + month, df, sum)