如何将不同的数据合并为一行?
我想将数据帧“df”的两条记录与 ID 为“A”和“B”(缺少一些数据(NA))合并到 ID 为“C”(目标)的一行中。我知道矩阵 [ , ] 可以做这种工作。但是在数据框中没有行号不可用。
下面是我的数据。
df
ID Y1 Y2 Y3 Y4 Y5 Y6
A 7 4 NA NA NA NA
B NA NA 5 5 4 4
目标:
ID Y1 Y2 Y3 Y4 Y5 Y6
C 7 4 5 5 4 4
回答
我们可以用
df1 %>%
summarise(ID = 'C', across(where(is.numeric), na.omit))
# ID Y1 Y2 Y3 Y4 Y5 Y6
#1 C 7 4 5 5 4 4
数据
df1 <- structure(list(ID = c("A", "B"), Y1 = c(7L, NA), Y2 = c(4L, NA
), Y3 = c(NA, 5L), Y4 = c(NA, 5L), Y5 = c(NA, 4L), Y6 = c(NA,
4L)), class = "data.frame", row.names = c(NA, -2L))