Есть несколько способов: (обернуть data.frame(x_new = ...)
вокруг, если требуется data.frame.)
rowSums(df1, na.rm = T)
apply(df1, 1, na.omit)
df1<-
structure(list(x1 = c(NA, NA, 1L, 2L), x2 = c(3L, 4L, NA, NA)), row.names = c(NA,
-4L), class = "data.frame")