実現したいこと
data <- data.frame(id = c(rep(1, 5), rep(2, 5), rep(2, 5)),
phase = c(rep(1:5,3)),
tyra = c(c("A", "A", "A", NA, NA),
c("無治療", NA, NA, "A", "A"),
c("無治療", NA, "A", NA, NA)))
上記のデータから以下のデータを作成してほしいです。
data <- data.frame(id = c(rep(1, 5), rep(2, 5), rep(2, 5)),
phase = c(rep(1:5,3)),
tyra = c(c("A", "A", "A", "中断", "無治療"),
c("無治療", "無治療", "無治療", "A", "A"),
c("無治療", "無治療", "A", "中断", "無治療")))
前提
tyraは"無治療", "中断", "A"の3つです。
data <- data.frame(id = c(rep(1, 5), rep(2, 5), rep(2, 5)),
phase = c(rep(1:5,3)),
tyra = c(c("A", "A", "A", NA, NA),
c("無治療", NA, NA, "A", "A"),
c("無治療", NA, "A", NA, NA)))
idが1の人は、phaseが1-3に関しては、"A"(typaの変数)が用いられたが、phase4からはNA(typaの変数)になっています。
そのため、phase4のtypaには、"A”が終了したことを意味する"中断"のフラグを立ててほしいです。
phase4のtypaの変数に”中断”のフラグを立てた後は、phase5では"無治療"のフラグを立ててほしいです。
(前のphaseが"中断"であれば、次のphaseは"無治療"にしたいです。)
idが2の人は、phase1のtypaが"無治療"でphase2-3はNAになっています。
そのため、phase2-3のtypaには"無治療"のフラグを立ててほしいです。
idが3の人は、idが2の人と同様に、phase2のtypaには"無治療"のフラグを立ててほしいです。
また、phase4-5のtypaはNAになっていますが、phase3のtypaは"A"を用いているため、
phase4のtypaには"中断", phase5のtypaには"無治療"のフラグを立ててほしいです。
非常に複雑で難しいですが、Rのコードをご教示頂けますと幸いです。
なお、idは複数人存在します。
回答2件
あなたの回答
tips
プレビュー