【发布时间】:2022-12-12 09:14:21
【问题描述】:
我正在尝试“清理”一个删除了许多“空”行的数据集,但是,我想要这些空行(并添加NA)。这是一个玩具数据集:
values <- rnorm(12)
data <- data.frame(ID = c(1, 1, 1, 2, 2, 3, 3, 3, 4, 5, 5, 5),
event = c("A", "B", "C", "A", "B", "A", "B", "C", "B", "A", "B", "C"),
value = values) #values are random
我想要的是插入缺少的行,即 ID 2 缺少组 C,4 缺少 A 和 C。预期结果如下:
data_expanded <- data.frame(ID = c(1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5),
event = c("A", "B", "C", "A", "B", "C", "A", "B", "C", "A", "B", "C", "A", "B", "C"),
value = c(values[1:5], NA, values[6:8], NA, values[9], NA, values[10:12]))
可以将带有 NA 的行添加到数据框的末尾(不必像我提供的示例那样进行分组)。我的真实数据集有很多行,因此,一种内存高效的方法受到高度赞赏。我确实更喜欢使用 R、tidyr(或 tidyverse)的方法。
【问题讨论】: