R时间到了

时间:2016-09-28 02:40:23

标签: r survival-analysis

我是R的新手(上周开始自学)和这个论坛的新人。

我正在研究一个我需要确定事件发生时间的数据集。我有三个变量(药物,患者和日期),我需要计算每个患者换药时的时差。另外值得注意的是,患者可以从药物A转移到药物B并返回药物A,因此日期顺序非常重要。

我目前拥有的数据是一个名为" data"

的数据框
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次到第3次,第3次到第4次,最后是第4次到第5次)的患者比例...... 因此,在时间0(当每个患者的第一个记录存在时),100%的患者没有切换,下一行将是第2天(其中99%的患者可能没有切换),然后是第3天,然后是第4天等。

干杯

1 个答案:

答案 0 :(得分:0)

....如果我已正确理解意图,那么'部分deux'的答案。注意我已经将日期的数量从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