【发布时间】:2017-02-05 19:47:06
【问题描述】:
我是 R 新手(上周开始自学),也是这个论坛的新手。
我正在处理一个需要确定事件发生时间的数据集。我有三个变量(药物、患者和日期),我需要计算出每位患者换药时的时间差。另外值得注意的是,患者可以从药物 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 次到第 3 次、第 3 次到第 4 次、最后第 4 次到第 5 次)的患者比例...... 所以在时间 0(每个患者的第一条记录存在时),100% 的患者没有切换,下一行将是第 2 天(99% 的患者可能没有切换),然后是第 3 天,然后是第 4 天,依此类推.
干杯
【问题讨论】:
-
请使用 dput 显示示例数据而不是图像(因为我们无法从图像中复制以进行测试)。此外,预期的输出应该很好
-
您是否只关心第一次切换,还是应该为之后的切换提供指标(即您是否想要至少切换一次的百分比或发生的切换次数)?如果患者在 t0 开始使用药物 A,然后在 t1 切换到 B,最后在 t2 回到 A,那么该患者的时间序列是否看起来像 t0 = 0, t1 = 1, t2 = 0 表明他们回来了在第一种药物上,或 t0 = 0, t1 = 1, t2 = 1 表示他们从 t1 开始切换一次或 t0 = 0, t1 = 1, t2 = 2 表示患者切换的总数?跨度>
-
提出了两个不同的问题:一个;切换的时间间隔将是一组特定于主题的结果,而不是两个;在每个每日间隔中转换的患者比例,这可能是一个药物间隔结果或只是一个间隔结果。它们不会相同,而且由于描述不一致,并且无法手动完成示例并为少数情况提供准确答案,因此完全不清楚需要哪一个。
-
也许你的部分调查(上面@42 称为第 2 部分)可以受益于在 R 中使用 TraMineR 包。mephisto.unige.ch/pub/TraMineR/doc/TraMineR-Users-Guide.pdf 我发现这对于评估状态转换分布非常有用,在您的情况下,这将是药物类型。
-
作为 Big Old Dave 有用评论的后续,他可以参考 CRAN 包信息:cran.r-project.org/web/packages/TraMineR/index.html
标签: r survival-analysis