#Cox分析
Coxoutput <- NULL
for(i in 3:ncol(surv.expr)){
g <- colnames(surv.expr)[i]
cox <- coxph(Surv(OS.time,OS) ~ surv.expr[,i], data = surv.expr) # 单变量cox模型
coxSummary = summary(cox)
Coxoutput <- rbind.data.frame(Coxoutput,
data.frame(gene = g,
HR = as.numeric(coxSummary$coefficients[,"exp(coef)"])[1],
z = as.numeric(coxSummary$coefficients[,"z"])[1],
pvalue = as.numeric(coxSummary$coefficients[,"Pr(>|z|)"])[1],
lower = as.numeric(coxSummary$conf.int[,3][1]),
upper = as.numeric(coxSummary$conf.int[,4][1]),
stringsAsFactors = F),
stringsAsFactors = F)
}
代码来自B站“小陈医生想躺平”
报错
Error in coxph(Surv(OS.time, OS) ~ surv.expr[, i], data = surv.expr) : No (non-missing) observations
原因:res_deseq2的基因名为ENSG_id应改为gene_symbol
方法:重新运行差异分析代码后改为gene_symbol,解决
教训:不要在源文件上直接修改,在副本上改动

文章描述了一位用户在使用R语言进行Cox比例风险模型分析时遇到的问题,由于原始数据中的基因ID为ENSG_id,导致分析出现No(non-missing)observations的错误。解决方案是重新运行差异分析代码,将基因ID替换为gene_symbol。作者强调了不应直接修改源文件,而应在副本上进行改动的重要性。
2419





