r - R中的Cox PH时间相关协变量格式
问题描述
我正在尝试使用 R 中的时间相关协变量执行 Cox 比例风险分析。我已阅读相关文档(Therneau 等人)和几个教程,但鉴于协变量在数据。它是分段的时间相关/时变协变量。
感兴趣的结果是“死亡”,时间变量是“fu”,时间相关协变量包含在“asp”AKA 阿司匹林列中。例如,对于第一个病例,患者在基线、30 天和 1 年未服用阿司匹林,但在最后一次随访时服用,在本例中为 2275 天。句点代表缺失的数据。
| ID | aspb | asp30 | asp1y | aspfu | death | fu |
|-------|------|-------|-------|-------|-------|-----------|
| 1479 | 0 | 0 | 0 | 1 | 0 | 2275 |
| 10523 | 1 | 1 | . | . | 1 | 41 |
| 25436 | 0 | 0 | 1 | 1 | 0 | 1773 |
我不知道如何实现表格的(开始,停止)格式,因为有1000多个案例。这也很复杂,因为案例之间的时间间隔不一定一致,即时间对应于“ aspfu" 可以介于 0 天、30 天、1 年、...
我确实在 SPSS 中使用时间相关协变量的以下符号完成了这个分析: (T_ < 1)*aspb + (T_ >=1 & T_ < 31)*asp30 + (T_ >= 31 & T_ < 366)* asp1y + (T_ >= 366)*aspfu。但我正在努力将其翻译成 R。
任何指导将不胜感激!非常感谢!
解决方案
尝试这个:
## start time
df <- df %>%
group_by(ID) %>%
mutate(start_time = 0:(n() - 1))
df <- ungroup(df)
## end time
df <- df %>%
group_by(ID) %>%
mutate(end_time = 1:(n()))
df <- ungroup(df)
```
推荐阅读
- sql - 来自一个嵌套 SELECT 的多个 SELECT
- swiftui - 带有 UITextContentType emailAddress 的 TextField 的行为不像电子邮件文本字段
- phpmailer - WHM / EXIM / SES - SMTP 错误“我们未授权使用此系统传输未经请求的 220 和/或批量电子邮件”
- c# - Angular 12 - Decimal.Parse 不返回带有点/点/句点的小数
- c++ - 如何编写从 std::invalid_argument 派生的自定义异常类?
- c# - .NET Core iHostedService 关闭 IIS
- flutter - MissingPluginException(在通道 MethodChannels 上找不到方法 getForegroundApp 的实现)
- mongodb - PostgreSQL 与 JSONB 对比 MongoDB
- google-cloud-platform - Vertex AI 模型批量预测因内部错误而失败
- dataframe - LinearInterpolation 不适用于 DataFrames.jl 中的变换