R 尝试在同一数据帧中合并两行

R 尝试在同一数据帧中合并两行,r,R,我在代码中遇到了一些问题,例如一行被奇怪地拆分为两行,因此第一行有一些NAs,然后第二行在相反的列中有NAs。导入我的数据可能会有问题,但我想知道是否有办法将这两个数据合并成一行 x <- c(1, NA, 3, 4, NA) y <- c(NA, 2, NA, NA, 5) df <- t(cbind(x,y)) z <- t(c(1, 2, 3, 4, 5)) [,1] [,2] [,3] [,4] [,5] x 1 NA 3 4 N

我在代码中遇到了一些问题,例如一行被奇怪地拆分为两行,因此第一行有一些NAs,然后第二行在相反的列中有NAs。导入我的数据可能会有问题,但我想知道是否有办法将这两个数据合并成一行

x <- c(1, NA, 3, 4, NA)
y <- c(NA, 2, NA, NA, 5)
df <- t(cbind(x,y))

z <- t(c(1, 2, 3, 4, 5))

  [,1] [,2] [,3] [,4] [,5]
x    1   NA    3    4   NA
y   NA    2   NA   NA    5

[,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5

x以下内容如何

z <- c(x[!is.na(x)], y[!is.na(y)])

z针对您的案例的技巧可能是使用
replace
+
colSums

> t(colSums(replace(df, is.na(df), 0)))
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5

使用
dplyr

library(dplyr)
df <- data.frame(t(coalesce(df[1, ], df[2, ])))
  X1 X2 X3 X4 X5
1  1  2  3  4  5