是哪个环节出现问题了呢?

#install.packages("survival")
#install.packages("forestplot")

library(survival)
library(forestplot)

setwd("D:\\BaiduNetdiskDownload\\98panCancer\\09.cox")                       #设置工作目录
rt=read.table("expTime.txt",header=T,sep="\t",check.names=F,row.names=1)    #读取输入文件
rt$futime=rt$futime/365
gene=colnames(rt)[3]

#对肿瘤类型进行循环
outTab=data.frame()
for(i in levels(rt[,"CancerType"])){
    rt1=rt[(rt[,"CancerType"]==i),]
    cox=coxph(Surv(futime, fustat) ~ rt1[,gene], data = rt1)
    coxSummary = summary(cox)
    coxP=coxSummary$coefficients[,"Pr(>|z|)"]
    outTab=rbind(outTab,
                 cbind(cancer=i,
                       HR=coxSummary$conf.int[,"exp(coef)"],
                       HR.95L=coxSummary$conf.int[,"lower .95"],
                       HR.95H=coxSummary$conf.int[,"upper .95"],
                       pvalue=coxP) )
}
write.table(outTab,file="cox.result.txt",sep="\t",row.names=F,quote=F)    #输出基因和p值表格文件


############绘制森林图函数############
bioForest=function(coxFile=null,forestFile=null,forestCol=null){
    #读取输入文件
    rt=read.table(coxFile,header=T,sep="\t",row.names=1,check.names=F)
    data=as.matrix(rt)
    HR=data[,1:3]
    hr=sprintf("%.3f",HR[,"HR"])
    hrLow=sprintf("%.3f",HR[,"HR.95L"])
    hrHigh=sprintf("%.3f",HR[,"HR.95H"])
    pVal=data[,"pvalue"]
    pVal=ifelse(pVal<0.001, "<0.001", sprintf("%.3f", pVal))
    clrs <- fpColors(box=forestCol,line="darkblue", summary="royalblue")      #定义颜色
    tabletext <- 
      list(c(NA, rownames(HR)),
           append("pvalue", pVal),
           append("Hazard ratio",paste0(hr,"(",hrLow,"-",hrHigh,")")) )   #定义图片文字
    pdf(file=forestFile,width = 9,height = 6,onefile = FALSE)
    forestplot(tabletext, 
               rbind(rep(NA, 3), HR),
               col=clrs,
               graphwidth=unit(50, "mm"),
               xlog=T,
               lwd.ci=4,
               boxsize=0.6,
               xlab="Hazard ratio",
               txt_gp=fpTxtGp(ticks=gpar(cex=1.1),xlab=gpar(cex = 1.25))
               )
    dev.off()
}
############绘制森林图函数############

bioForest(coxFile="cox.result.txt",forestFile="forest.pdf",forestCol="red")

但运行出来的文件是空的,错误提示是:Error in read.table(coxFile, header = T, sep = "\t", row.names = 1, check.names = F) : 
  no lines available in input

您好,最终问题解决了吗

 

Error in read.table,table里面没有数据

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632