0

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

(実際のデータセットには、考慮すべき時点と変数がさらにあります)

4

1 に答える 1