全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
870 1
2019-02-26
i=0;set.seed(1234);x <- seq(-3,3,length = 1200);y <- dnorm(x,0,1)
while (i<1){
  z2=rep("1",i*200)
  z1=rep("0",(1200-i*200)/2)
  z3=rep("0",(1200-i*200)/2)
  z=c(z1,z2,z3)
  data <- data.frame(x=x,y=y,z=z)
  ggplot(data=data,mapping=aes(x=x,y=y))+geom_area(aes(fill=z))+geom_line()
  i=i+0.05
  print(list(length(z),i))
  Sys.sleep(5)
}



附件列表
QQ图片20190226233145.png

原图尺寸 9.56 KB

结果图

结果图

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-2-27 14:27:58
应该是个bug, 用下面的代码可以对这个bug有个更全的展示:
i <- 0
while (i < 1){
  z2 <- rep("1",i*200)
  cat(length(z2), i, "\n")
  i <- i + 0.05
}
bug的原因应该是由于浮点数造成的,我也不确定,不过解决的方法很简单,总是用R风格的循环,而不是用C++风格的循环:
for(i in seq(0, 0.95, 0.05)) {
  z2 <- rep("1",i*200)
  cat(length(z2), i, "\n")
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群