我写这个问题是因为我在R studio中遇到的另一个问题。我有一个非常大的数据集,其中包含鸟类的运动数据(ACC),并且每个个体都有多行(每一行代表一个时间戳)。在我的数据集中,我需要查看在某个地区有多少个个体。这里的问题是,我为每个个体设置了许多行,使用简单的函数,如table或summary,返回分配给该地区的行数。我想要的是知道属于该地区的个人,使用简单的函数。
这是我到目前为止所做的:
- 我的框架中有很多行,但只有大约50个个体(每个个体有多行)。
- 我总共有大约15个地区,每行有一个地区ID(重复)。
我试过用table
table(df$territory_id) %>% sort(decreasing = TRUE) %>% head
字符串
这给了我输出:
ter1 ter2 ter3 ter4 ter5 ter6
275034 207746 232739 165260 162103 259644
型
这里我有区域ID的行数。因为我想知道有多少不同的人属于一个区域,我已经在单独的对象中划分了区域,并为此做了表:
t <- filter(df, territory == "ter1")
型
然后:
table(t$individualID)
型
这给了我我想要的输出。但是,我需要为每个地区重复这个过程。
我想知道是否有更简单的方法来做到这一点?我只有15个领土,但如果我有更多的领土,那将需要很多时间来重复功能。有没有更简单的方法来做到这一点?
2条答案
按热度按时间vshtjzan1#
你的数据看起来很大,所以虽然你的头脑给出了数据的样子,但它并不好用(因为它看起来像是一个位置的一只鸟的六个时间戳)。所以我创建了我自己的,希望仍然相似:
因此,虽然我很清楚你想分析你的数据集,但我不确定你具体想做什么。所以这里有一些你可能想要的东西,以及你如何做到这一点:
型
gg58donl2#
是的!这就是我想知道的!非常感谢!基本上我已经看了你提供的第一个代码:
字符串
它返回的结果是这样的:
型
等等
但在这里,我想知道属于该领土的individualID(也许然后我把它改为):
型
它还给了我:
型
这就给了我我想要的。所以我只需要使用计数功能...谢谢!