我有一个包含许多NAs的长数据帧,但我想将其压缩,以便在按变量分组时,所有NAs都填充第一个非缺失值——但如果观测值only包含NAs,它会保留它.在我更新R之前,我有一个代码可以运行(如下所示),但现在如果其中一列都是NAs,它会删除行.
以下是一个示例数据集:
library(dplyr)
test <- tibble(name = c("J", "C", "J", "C"),
test_1 = c(1:2, NA, NA),
test_2 = c(NA, NA, 3:4),
make_up_test = c(NA, 1, NA, NA))
这里是过go 的工作原理——但现在删除了一列中只有NAs的观察结果(参见J被删除,因为他只有NAs用于测试观察)
test %>%
group_by(name) %>%
summarise_all(~first(na.omit(.)))
这就是我希望得到的:
solution <- tibble(name = c("J", "C"),
test_1 = c(1:2),
test_2 = c(3:4),
make_up_test = c(NA, 1))