将观察结果转换为PDF

时间:2020-07-22 17:45:33

标签: r

我对生成PDF图表有疑问

假设以下数据

x=c(1:100);
x=as.data.frame(matrix(x,ncol=5,nrow=20))
colnames(x)=c("patientID","feature1","feature2","feature3","feature4")`

我想为每位患者生成一个PDF(便携式文档格式),以简单地将每行中的不同功能描述为一个状态

patient ID : 1  
feature1 :  "give the corresponding value" 
feature2 :  "value of corresponding feature"
feature3 : "value of corresponding feature"
etc....

就像每个病人都被转换回临床图表一样。

你会怎么做?

1 个答案:

答案 0 :(得分:0)

我找到的解决方案之一是首先为每个患者创建一个图(然后将其保存为PDF格式)。

x=c(1:100);
x=as.data.frame(matrix(x,ncol=5,nrow=20))
colnames(x)=c("patientID","feature1","feature2","feature3","feature4")

a=0.05
y=seq( 0,2, by=0.1)
y=sort(y,decreasing = T)
lapply(seq(1:20), function(i) {
  pdf(file=paste("Patient Num:", paste(x[i,1])))
  plot(c(0, 1), c(0, 2), ann = F, bty = 'n', type = 'n', xaxt = 'n', yaxt = 'n')
  text(a, y[1],adj=c(0,0), paste("Patient ID",":",paste(x[i,1])),      cex = 1.2, col = "black")
  text(a, y[2],adj=c(0,0), paste("Feature1",":",paste(x[i,2])),      cex = 1.2, col = "black")
  text(a, y[3],adj=c(0,0), paste("Feature1",":",paste(x[i,3])),      cex = 1.2, col = "black")
  text(a, y[4],adj=c(0,0), paste("Feature1",":",paste(x[i,4])),      cex = 1.2, col = "black")
  text(a, y[5],adj=c(0,0), paste("Feature1",":",paste(x[i,5])),      cex = 1.2, col = "black")
  dev.off()
  })

它以正确的格式和正确的信息创建了20个PDF文件。