近期在对人群肿瘤发病大数据库进行统计分析(发病率、死亡率、生存率)时,经常会用到循环语句,但是在使用过程中遇到一个比较头大的问题,就是不知道运算进度怎么样,只能看到小红圈在努力的闪烁。为了使运算进度更加可视化,故在循环语句中纳入进度条。
话不多说,直接上代码~
一、首先构建待分析数据库(以R中自带iris数据集为例)
##构建待分析数据库##
ll<-list()
for(i in 1:100){
ll[[i]]<-iris
}#####-------------建立list集承接多个iris数据集
tt<-ll[[1]]
for(i in 1:100){
tt<-rbind(tt,ll[[i]])
}#####-------------多个iris数据集整合为一个
二、建立循环体输出进度条
##在循环过程中建立输出进度条##
pb <- txtProgressBar(min = 1, max = length(tt$Sepal.Length), style = 3) # 指定最小值、最大值和样式
##建立循环体##
for(i in 1:length(tt$Sepal.Length)){
if(tt$Sepal.Length[i]>1&tt$Sepal.Length[i]<=2){
tt$ncatagy[i]<-"between 1 and 2"
}else if(tt$Sepal.Length[i]>2&tt$Sepal.Length[i]<=4){
tt$ncatagy[i]<-"between 2 and 4"
}else if(tt$Sepal.Length[i]>4&tt$Sepal.Length[i]<=6){
tt$ncatagy[i]<-"between 4 and 6"
}else{
tt$ncatagy[i]<-"over 6"
}
setTxtProgressBar(pb,i)
}
close(pb)