- 此问题在此处已有答案**:
How to complete missing factor levels in data frame?(1个答案)
Using rbind to add 0 values during a loop(3个答案)
20小时前关门了。
我有一个数据库,看起来像这样(虽然它有更多的物种和日期):
| 日期|种属|计数|
| - ------|- ------|- ------|
| 二○二二年六月一日|AMAV无人机|五十|
| 二○二二年六月五日|AMAV无人机|二十个|
| 二○二二年六月七日|SESA公司|十个|
| 二○二二年六月七日|AMAV无人机|八个|
我希望每个日期包括计数为0的每个物种,如果该日期最初没有列出任何物种。当没有列出任何物种时,这只是意味着没有检测到该物种,因此计数应为0。
对于这个例子,我希望它看起来像:
| 日期|种属|计数|
| - ------|- ------|- ------|
| 二○二二年六月一日|AMAV无人机|五十|
| 二○二二年六月一日|SESA公司|无|
| 二○二二年六月五日|AMAV无人机|二十个|
| 二○二二年六月五日|SESA公司|无|
| 二○二二年六月七日|SESA公司|十个|
| 二○二二年六月七日|AMAV无人机|八个|
所以我希望每个日期都能列出我的物种。
我想知道是否有人知道一种方法来完成这一点在R。我真的不知道如何解决这个问题,所以将感谢任何提示!
2条答案
按热度按时间piwo6bdm1#
大多数情况下,这是填充缺少日期的系列的经典问题。创建数据,将所有值扩展到所有日期,并将左外联接到此数据。
之后,如果愿意,可以使用标准
df$Count[is.na(df$Count)] <- 0
将NA值替换为零。cgh8pdjw2#
tidyverse解决方案:
这里我们首先创建一个helper列
x
,通过透视得到shape中的列,然后用0替换x,并使用arrange将行放置到分组和切片的位置: