什么';我在R中的while循环代码有什么问题?

什么';我在R中的while循环代码有什么问题?,r,while-loop,R,While Loop,我想在R中使用while循环 我想重复循环直到evt>1和cpr>0,但它不起作用 功是生成数的函数 if((evt>1)&&(cpr>0)){ work<-work[order(work$z),] obs<-c(1:length(work$z)) work<-cbind(work,obs) } else { while((evt>1)&&(cpr>0)) { j<-j+1 seed<-setti

我想在R中使用while循环

我想重复循环直到evt>1和cpr>0,但它不起作用

功是生成数的函数

if((evt>1)&&(cpr>0)){
work<-work[order(work$z),]
obs<-c(1:length(work$z))
work<-cbind(work,obs)
  } else {
 while((evt>1)&&(cpr>0)) {
  j<-j+1
  seed<-settings*1000+h+j     

  work_f(studysize = studysize,beta=beta,cutpoint = cutpoint,settings = settigns,p=p,alpha = alpha)

  evt<-data.frame(ftable(work$event))
  evttr<-data.frame(evt=numeric(1),cpr=numeric(1),csr=numeric(1))
  if (p==0) {
    evttr$evt<-evt$Freq[1]; evttr$cpr<-evt$Freq[2]; evttr$csr<-0
  }else {
    evttr$evt<-evt$Freq[2]; evttr$cpr<-evt$Freq[3]; evttr$csr<-evt$Freq[1]
  }
  evttr[is.na(evttr)]<-0
  evt<-as.numeric(evttr$evt); cpr<-as.numeric(evttr$cpr)

  if((evt>1)&&(cpr>0)){
    work<-work[order(work$z),]
    obs<-c(1:length(work$z))
    work<-cbind(work,obs)
  }
 }
} 
if((evt>1)和&(cpr>0)){

工作您的问题最有可能出现在while循环的头部,因为它永远无法进入while循环。如果我删除您的大部分代码,这一点就会变得明显

evt = 0
cpr = 0
if ((evt > 1) && (cpr > 0)) {
  cat("a")
} else {
  #due to the if (evt > 1) && (cpr > 0)==false
  #hence the loop is never entered
  while ((evt > 1) && (cpr > 0)) {
    cat("b")
  }
} 
我补充说你复制了if真身的密码

if ((evt > 1) && (cpr > 0)) {
      work <- work[order(work$z),]
      obs <- c(1:length(work$z))
      work <- cbind(work,obs)
}
if((evt>1)和&(cpr>0)){

工作有什么问题?有错误吗?请考虑阅读和如何生成A。<代码>((EVT>1)& &(CPR>0))< /代码>条件必须是<代码> false < /代码>和<代码>真< /代码>同时进入<代码>,< <代码>循环。我用重复循环来解决我的问题。谢谢!