R中的散点图

R中的散点图,r,R,我在蒙地卡罗课堂上重新做了一些作业,以此来自学R。我在R中构建了一个RANDU生成器,我的任务是为序列中的所有三元组(u_I,u_{I+1},u_{I+2})计算,其中0.5我认为问题在于你在u中的最后一次观察。至于你的for循环,你要求评估u[i+1]。试试这个: for(i in 1:length(u)-1){ if(0.5 <= u[i+1] & u[i+1] <= 0.51){ plot(u[i],u[i+2]) } } for(i/1:长

我在蒙地卡罗课堂上重新做了一些作业,以此来自学R。我在R中构建了一个RANDU生成器,我的任务是为序列中的所有三元组(u_I,u_{I+1},u_{I+2})计算,其中0.5我认为问题在于你在
u
中的最后一次观察。至于你的
for
循环,你要求评估
u[i+1]
。试试这个:

 for(i in 1:length(u)-1){
   if(0.5 <= u[i+1] & u[i+1] <= 0.51){
     plot(u[i],u[i+2])
   }
 }
for(i/1:长度(u)-1){

如果(0.5)参数
0.5,我认为这里的问题是由于
NA
值造成的。您正在尝试索引
u[I+1]
,这将导致它返回一个值的NA(当
I=length(u)
时)。当您尝试打印
u[I+2]
时,同样的情况也会发生。尝试更改索引,看看它是否有效。.if(0.5)中的错误
n = 20002
x <- 1:n
x[1] = 1

for(i in 2:n){
  x[i] = (65539*x[i-1]) %% 2^31
}

u <- 1:n
u[1] = 1/(2^31)
for(i in 2:n){
  u[i] = x[i]/(2^31)
}


for(i in 1:length(u)){
  if(0.5 <= u[i+1] & u[i+1] <= 0.51){
    plot(u[i],u[i+2])
  }
}
 for(i in 1:length(u)-1){
   if(0.5 <= u[i+1] & u[i+1] <= 0.51){
     plot(u[i],u[i+2])
   }
 }