R 使用匹配的ID填充单独列的空单元格



我刚刚将新数据添加到我的原始数据框中,如此简化,它看起来像这样:

df <- data.frame(ID = rep(letters[1:5], each = 2))
df
ID    Volume
1   a   1.23
2   a   
3   a
4   a
5   b   4.74
6   b
7   b
8   b
9   c   5.35
10  c
11  c
12  c
13  c
14  d   1.53
15  d
16  d

其中我有一个 ID 列,每个 ID 的条目数量不同,一个条目的卷不同,但其他条目则不然。

有没有办法用相应ID的填充单元格填充空的音量单元格?

我本质上是试图删除进入 Excel 并对每个 ID 使用"拖动填充"的步骤(我有超过 2000 个 ID(。并非每个 ID 都有相同数量的条目(即 ID "a" 有 4,其中 ID "c" 有 5,ID "d" 有 3(。

我想dplyr会有一个工具来做到这一点,但我无法找到答案。

在整洁中

library(tidyverse)
df %>% 
group_by(id) %>% 
fill()

这是一个基本的 R 解决方案,其中ave()用于填充NA

df <- within(df,Volume <- ave(Volume,ID, FUN = function(x) unique(x[!is.na(x)])))

相关内容

  • 没有找到相关文章

最新更新