【发布时间】:2017-07-10 21:18:43
【问题描述】:
我正在尝试在 R 中运行一个区间删失的 Cox 模型。icenReg 包有一个函数 ic_sp 来执行此操作。但是,当我给它一个因子变量作为预测变量时,我遇到了一个问题。
data = data.frame(R = c(2, 1, 4, 7, 4, 6, 8, 8, 12, 3),
L = c(3, 1, 4, 7, 5, 6, 8, 9, 12, 3),
gender = c("m", "f", "f", "m", "m", "f", "f", "m", "f", "m"))
s = survival::Surv(data$R, data$L, type = 'interval2')
icenReg::ic_sp(s ~ relevel(gender, "f"), model = 'ph', bs_samples = 5, data = data)
> Error in dimnames(x) <- dn : length of 'dimnames' [2] not equal to array extent
我已经调试了函数并逐步完成了它。看来问题出在
myFit <- new(callText)
在 fit_ICPH 子函数中,因为在它抱怨之后
Error in fit$model == "ph" : comparison (1) is possible only for atomic and list types
我尝试过使用这个“新”功能,但当时我无法使用它。
任何帮助将不胜感激!这一切都包含在一个闪亮的应用程序中,所以如果可能的话,我真的不想编辑数据集;数据集和公式都是反应式的。
奇怪的是,虽然可能不是一旦我找到了解决方案,但如果变量有 3 个级别,它就可以工作。
data = data.frame(R = c(2, 1, 4, 7, 4, 6, 8, 8, 12, 3),
L = c(3, 1, 4, 7, 5, 6, 8, 9, 12, 3),
gender = c("m", "a", "f", "m", "m", "f", "a", "m", "f", "m"))
s = survival::Surv(data$R, data$L, type = 'interval2')
icenReg::ic_sp(s ~ relevel(gender, "f"), model = 'ph', bs_samples = 5, data = data)
> results...
【问题讨论】:
标签: r