R语言模拟丹东下雨并求最大连续下雨天数问题

原创
2017/03/30 21:31
阅读数 109

#模拟丹东60天下雨情况,下雨为1,不下雨为0
a=rep(0,60)
a[1]=0
for (i in 2:60){
  if(a[i-1]==1) {a[i]=rbinom(1,1,0.8)}
                else {a[i]=rbinom(1,1,0.6)}
}
#模拟60天最大连续下雨天数
len=0 ##初始化
m<-NULL
for(i in 2:60){
  if(a[i]==1) {
    len<-len+1
    rainday[i]<-len
  }
  else {len=0
        rainday[i]<-len
        }
}
rainyear<-order(rainday,decreasing=T)[1] #排序再取出最大连续下雨天数

#模拟计算100年丹东7,8月连续下雨的天数,做频数直方图
rainyear <- NULL #赋值为自动延长的向量
j <- 1
while (j<=100){
  len=0 ##初始化
  rainday<-NULL
  a=rep(0,60)
  a[1]=0
  for (i in 2:60){
    if(a[i-1]==1) {a[i]=rbinom(1,1,0.8)}
    else {a[i]=rbinom(1,1,0.6)}
  }
  for(i in 2:60){
    if(a[i]==1) {
      len<-len+1
      rainday[i]<-len
    }
    else {len=0
          rainday[i]<-len
    }
  }
  rainyear[j]<-order(rainday,decreasing=T)[1]
  j<-j+1
}
hist(rainyear)

展开阅读全文
R
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部