我想扩展这篇文章的解决方案,@AnandaMahto 为我的问题提供了一个非常优雅的解决方案。
对于这个新功能,我希望如果同一个房子里有多次相同的物种,它只会计算一次观察。一所房子有两个cats和一个rat不会在和之间创建两个观察值cat而rat只有一个(如下图所示)
在这个例子中,4 号房子有两个rats。如前所述,我不想考虑ratandcat和 between 之间的两个观察值spider,rat而只考虑 and 之间的一个观察值rat和and之间cat的一个观察值spiderrat
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