循环后输出最小值

时间:2018-08-10 22:18:28

标签: r

这是我的代码:

for(i in 1:10000){
  table1<-table(toydata$A,toydata$B)
  toy <- toydata    # Work with a copy
  toy[] <- lapply(toydata, swapFun)
  table2<-table(toy$A,toy$B)
  print (c(i,sum(abs(table1-table2))))
  if((sum(abs(table1-table2)))<10) 
  {break}

}

如果在10000次循环之后,sum(abs(table1-table2))仍为>10。我希望函数输出的最小值为sum(abs(table1-table2))

我该如何解决?谢谢。

1 个答案:

答案 0 :(得分:0)

我已经解决了。

mini<-10000
for(i in 1:1000){
  table1<-table(toydata$A,toydata$B)
  toy <- toydata    # Work with a copy
  toy[] <- lapply(toydata, swapFun)
  table2<-table(toy$A,toy$B)
  print (c(i,sum(abs(table1-table2))))
  if((sum(abs(table1-table2)))<10) 
  {break}
  mini<-min(mini,sum(abs(table1-table2)))


}
print(mini)