我想扩展这篇文章的解决方案,@AnandaMahto 为我的问题提供了一个非常优雅的解决方案。
对于这个新功能,我希望如果同一个房子里有多次相同的物种,它只会计算一次观察。一所房子有两个cats
和一个rat
不会在和之间创建两个观察值cat
而rat
只有一个(如下图所示)
在这个例子中,4 号房子有两个rats
。如前所述,我不想考虑rat
andcat
和 between 之间的两个观察值spider
,rat
而只考虑 and 之间的一个观察值rat
和and之间cat
的一个观察值spider
rat
houses = c(1,1,2,3,4,4,4,4,5,6,5)
animals = c('cat','dog','cat','dog','rat', 'cat', 'spider', 'rat', 'cat', 'cat', 'rat')
@AnandaMahto 的解决方案将返回:
dog rat spider
cat 1 3 1
dog 0 0
rat 2
但我想得到这个:
dog rat spider
cat 1 2 1
dog 0 0
rat 1