0

我有表格的数据

Site,Year,Month,Count,Action
Site A,2012,1,10,Action A
Site A,2012,2,9,Action A
Site A,2013,1,12,Action A
Site A,2013,2,3,Action A
Site B,2012,1,6,Action A
Site B,2013,1,2,Action A
Site A,2012,1,3,Action B
Site A,2013,1,2,Action B
Site B,2012,1,20,Action B
Site B,2013,1,12,Action B
...

然后从那里,我想应用一个函数f(x,y)来按站点、年份、月份和给定月份的操作生成一个表格:

Site,f,Action
Site A,f(10,12),Action A
Site A,f(3,2),Action B
...

输入f(x,y)x等于 2012 年第 1 个月按站点、年份和操作y的计数,并将是 2013 年第 1 个月按站点、年份和操作的计数。

我希望能够在R中为任何给定月份生成这样的表/矩阵。

这是为了准备提供此数据以heatmap尝试按月可视化逐年变化。

4

1 回答 1

2

data.table提供最简单的语法:

library(data.table)
dt = data.table(df)
dt[,list(f = f(Count[Year==2012], Count[Year==2013])), by=list(Site, Action, Month)]
于 2013-10-08T21:44:21.460 回答