使用probGen函数,我生成一个变量X,l1是第一行,l2是第二行。
此时if(sum1 >= U)
我发现了这个错误Error in if (sum1 >= U) { : argument is of length zero
这是我的代码:
probGen=function(n)
{
v=vector()
k=sample(1:n,1)
v=rep(0,k)
for(i in 1:n)
{
aux=sample(1:k,1)
v[aux]=v[aux]+1
}
vfinal=vector()
klen=0
for(i in 1:k)
{
if(v[i]!=0) klen=klen+1
}
for(i in 1:k)
{
if(v[i]!=0)
vfinal=c(vfinal,rep(1/(klen*v[i]),v[i]))
}
vfinal=sample(vfinal)
return (vfinal)
}
n=22
l1=c(1:n)
l2=probGen(n)
l1
l2
simVar=function(l1,l2)
{
variante=vector()
U=runif(1,0,1)
for(i in 1:length(l1))
{
sum1=1-1
for(j in 1:i-1)
{
if(i-1>=1)
{
sum1=sum1+l2[j]
}
}
sum2=0.0
for(j in 1:i)
{
sum2=sum2+l2[j]
}
if(sum1 >= U)
{
if(U<sum2)
{
variante=c(variante,l1[i])
}
}
}
return (variante)
}
varR=simVar(l1,l2)
varR
有什么想法吗? 谢谢!
答案 0 :(得分:1)
for(j in 1:i-1)
代码顶部附近的simVar
评估为(1:i)-1
,结果为零,产生NA
sum1
值for(j in 1:(i-1))
。请改用from flask import jsonify
@app.route("/data")
def get_data():
// all that stuff you did to create the dataset
return jsonify(data)
@app.route("/chart")
def chart_page():
return render_template("some_template.html")
。