2016-09-28 6 views
0

私は先週自分自身を教え始め、このフォーラムには初めてです。R TIME-TO-EVENT

私はイベントの時間を決定する必要があるデータセットに取り組んでいます。私には3つの変数(Drug、Patient、Date)があり、薬物を切り替えるときに各患者の時間差を解決する必要があります。また、患者は薬剤Aから薬剤Bに移動して薬剤Aに戻ることができるので、日付順が重要である。

私は現在、このデータは、すべてのヘルプは素晴らしいことだ、と私はクリアまたはこのフォーラムのプロトコルから外れたものを持っていなかったごめんなさい「データ」

data <-data.frame(Drug=sample(c("Drug A","Drug B", "Drug C", "Drug D", "Drug E"),100, 
replace=TRUE),PAT=rep(1:10,each=10),Date=sample(seq(as.Date('2003/01/01'), 
as.Date('2016/01/01'), by="day"), 100)) 
data<-data[order(data$PAT,data$Date),] 

と呼ばれるデータフレームですが...

必要な出力は、各時点で最初の薬物から2番目の薬物に切り替わった患者の割合です(さらに2番目、3番目、3番目、4番目、最後に4番目から5番目)... 時間0(各患者の最初の記録が存在する場合)、患者の100%が切り替えられなかった場合、次の行は2日目(患者の99%がsその後、witched)、そして3日目、4日目など

乾杯

+3

(我々はテストのための画像からコピーすることはできませんよう)画像などの例のデータではなくを表示するdput使用してください。また、期待される出力は大きいはずです – akrun

+1

最初のスイッチのみを気にしますか、それとも後にそれらのインジケータがあるべきか(つまり、少なくとも1回スイッチしたパーセンテージか、発生したスイッチの数)が必要ですか?患者がt0で薬剤Aで開始し、次にt1でBに切り替え、最後にその患者の時系列がt0 = 0、t1 = 1、t2 = 0のように見える場合、それらが戻ることを示すためにt2でAに戻るt0 = 0、t1 = 1、t2 = 1であり、t1またはt0 = 0、t1 = 1、t2 = 2から1回スイッチしたことを示し、患者が行ったスイッチの総数を示します。 – Barker

+1

2つの異なる質問が提起されました。対象となる特定の結果セットであるスイッチングまでの時間間隔、毎日の間隔で切り替わる患者の割合は、薬物ごとの結果であってもよいし、間隔による結果であってもよい。それらは同じではなく、矛盾した記述や手作業で例を取り上げていくつかのケースについて正確な答えを出すことができないため、どちらが望ましいかは完全には不明です。 –

答えて

0

....「部分のドゥ」と答え、私は正しく意図を理解した場合。私は、シーケンスを同時に取得するために、日付の数を100から10に減らしました。

library(TraMineR) 

data <- data.frame(Drug=sample(c("Drug A","Drug B", "Drug C", "Drug D", "Drug E"),100,replace=TRUE), 
       PAT=rep(1:10,each=10), 
       Date=sample(seq(as.Date('2003/01/01'),as.Date('2016/01/01'), by="day"), 10)) 

data <- data[order(data$PAT,data$Date),] 

data2 <- reshape(data, idvar="PAT", timevar="Date", direction="wide") 

data.seq <- seqdef(data2,2:11) 

seqiplot(data.seq) 
seqdplot(data.seq) 

与える最後のプロット機能.... enter image description here