a/b/c は異なる変数で、t1 は時点 1、t2 は時点 2、t3 は時点 3 です。
目的は、2 つの新しい列を作成することです。1 つは a_t1 から a_t3 の各行の最初の非欠損値と最後の非欠損値です。変数 b と c にも欠損がないことを条件に (同じ時点で)。
coalesce()
ある種の条件付き書式で機能すると思います。しかし、これに関する私の知識は限られています。tidyverse ソリューションが望ましいですが、他のソリューションも同様に機能します。
library(tidyverse)
df<-tibble::tribble(
~a_t1, ~a_t2, ~a_t3, ~b_t1, ~b_t2, ~b_t3, ~c_t1, ~c_t2, ~c_t3,
1, NA, 9, 2, NA, 6, 3, NA, 7,
2, NA, 8, NA, 5, 8, NA, 1, 8,
NA, NA, 3, 2, NA, 9, 2, NA, 22,
NA, 5, 9, 4, NA, 9, 4, 5, NA,
NA, 9, 10, NA, 6, 11, NA, 6, NA
)
a の最初の値の期待される出力: 1、8、3、NA、9
a の最後の値の期待される出力: 9、8、3、NA、9
(実際のデータセットには、考慮すべき時点と変数がさらにあります)