2016-10-30 41 views
1

我有数据集,包括4列:Date,Source Actor(3个主演员,编码A,B,C),目标Actor(4个主演员,编码D,E,F,G),动作(5种类型的动作,编码从0到4)。我想根据日期将每个源演员 - 目标演员组合的每种类型的动作的总数相加。例如:R xts sum multiple subjects

Date  SourceActor Target Actor Action Freq 

1-1-2011 A    E   0  
1-1-2011 B    G   1   
2-1-2011 A    F   4 

我试图XTS但它计算的按日期行动的所有号码,无论来源演员和Target演员,让我不能行动的总人数为每个源演员 - 目标演员组合。感谢所有的帮助。

+1

欢迎来到Stack Overflow!在'r'标签中,我们要求您使用'dput()'共享数据,尤其是涉及日期或时间序列的任何内容,因为它保留了类信息并便于重现。您可以将指针悬停在“r”标签上以获取更多信息。此外,你似乎有4列,但5头。 –

+0

如果您只是想计算每个三元组(',SourceActor,TargetActor)''Action'的总和,则可以使用'dplyr'。假设你的数据在一个数据帧'df'中,这是:'result <- df %>%group_by(Date,SourceActor,TargetActor)%>%summarize(Freq = sum(Action))' – aichao

回答

1

你不能在xts对象非数字数据作为xts总是(因此的“相同类型的所有列”)的矩阵和索引向量。

因此,这里你的日期成为一个...不太有用的字符矩阵。

我建议使用data.table