【发布时间】:2016-05-23 11:14:22
【问题描述】:
我有关于物种到达食物的时间的数据。我希望能够使用got.here 值(即它们的到达时间)来确定每个胴体的breed_jackals 和breed_hyena 水平之前出现的breed 水平。
我只想要订单,所以在第一种情况下为carcass_336
我会为豺狼得到一个值,即breed_eagles。
对于第二个尸体carcass_338,我将按顺序为鬣狗breed_lappets 和breed_eagles 设置2 个级别。豺狼有 3 个等级,因为鬣狗在它之前到达,即 breed_lappets、breed_eagles 和 breed_hyena。
我认为arrivals$breed[arrivals$mycarcass=="carcass_336"] 会起作用,但它为我提供了所有级别。
理想情况下,我还想通过为每个级别使用最低 got.here 来找出直接出现在豺狼和鬣狗之前的级别。例如。对于carcass_338,它将是breed_eagles 对于breed_hyenas。再次,我认为 got.here 值将很有用,因为我已经使用它来提取每个胴体的最短到达时间用于另一个目的:
arrivals[ arrivals$got.here == ave(arrivals$got.here, arrivals$mycarcass, FUN=min), ]
这是我的数据:
arrivals <- read.table(header=T, text="
who breed got.here mycarcass
167 breed_eagles 102 carcass_336
183 breed_eagles 108 carcass_336
181 breed_eagles 271 carcass_336
134 breed_eagles 284 carcass_336
191 breed_eagles 311 carcass_336
283 breed_jackals 5419 carcass_336
118 breed_lappets 200 carcass_338
198 breed_eagles 219 carcass_338
151 breed_eagles 256 carcass_338
206 breed_hyenas 1759 carcass_338
294 breed_jackals 7948 carcass_338
235 breed_hyenas 10988 carcass_338
215 breed_hyenas 13629 carcass_338
290 breed_jackals 17013 carcass_338")
我想要的预期输出将由此得出,并且将是这些发生的频率。例如对于豺狼
preceeding_breed frequency
breed_eagles 1
breed_lappets 0
breed_hyenas 1
【问题讨论】:
-
你能显示预期的输出吗?
-
@mtoto 对这些发生频率的一些总结将是理想的,因为我在回答中没有说明。
标签: r loops categorical-data levels